Это мой полный запрос:Mysql GROUP BY и ORDER BY DESC
SELECT * FROM `clientgroupassign`
LEFT JOIN `clients` ON `clientgroupassign`.clientId = `clients`.clientId
LEFT JOIN `users` ON `carerId` = `userId`
LEFT JOIN
(SELECT * FROM
(SELECT * FROM `contacts` WHERE `contactGroup` = 4 ORDER BY `contactId` DESC)
as `contacts`
GROUP BY (`contactClientId`)
) AS `contacts` ON `contactClientId` = `clients`.clientId
WHERE groupId = 4
ORDER BY `clients`.clientId
Существует проблема с третьей присоединиться вызывает сценарий, чтобы выполнить в течение примерно 1 минуты. Когда я запускаю его отдельно в PMA:
SELECT * FROM (SELECT * FROM `contacts` WHERE `contactGroup` = 4 ORDER BY `contactId` DESC) AS `contacts` GROUP BY (`contactClientId`)
все еще выполняется очень долго.
Я хочу получить одну, последнюю добавленную строку от contacts
для каждого клиента, который находится в группе 4 (клиент может быть в разных группах).
Спасибо.
Что DESCRIBE'/'' EXPLAIN' шоу для этого запроса? – BlitZ
Также удалите 'SELECT * ...' оттуда. Выберите конкретные столбцы. Это может добавить накладные расходы. 'SELECT * 'может быть настоящим убийцей скорости. – BlitZ