Dies ist meine volle Abfrage:Mysql GROUP BY und 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
Es gibt ein Problem mit Dritt das Skript join verursacht etwa 1 Minute auszuführen. Als ich es separattly in PMA laufen:
SELECT * FROM (SELECT * FROM `contacts` WHERE `contactGroup` = 4 ORDER BY `contactId` DESC) AS `contacts` GROUP BY (`contactClientId`)
es wird noch sehr lang auszuführen.
Was ich will, ist eine, letzte Zeile von contacts
für jeden Client, der in der Gruppe 4 (Client kann in verschiedenen Gruppen sein).
Danke.
Was bedeutet 'DESCRIBE' /' EXPLAIN' zeigen für diese Abfrage? – BlitZ
Entfernen Sie auch 'SELECT * ...' von dort. Wählen Sie bestimmte Spalten aus. Es könnte zusätzlichen Aufwand verursachen. 'SELECT *' könnte ein echter Geschwindigkeitskiller sein. – BlitZ