Domyślnie dane wyodrębnione przez klauzulę GROUP BY
są uporządkowane jako rosnące. Jak zmienić go na malejący.Jak zmienić domyślną kolejność klauzuli Group By w mysql
6
A
Odpowiedz
8
Dodaj DESC
do klauzuli GROUP BY
, np. :
GROUP BY myDate DESC
1
ORDER BY foo DESC
?
6
Jak MySQL documentation mówi
SELECT * FROM foo GROUP BY bar
jest równoważna
SELECT * FROM foo GROUP BY bar ORDER BY bar
domyślne zachowanie nie może być zmieniony, ale można użyć
SELECT * FROM foo GROUP BY bar ORDER BY bar DESC
nie odczuwając żadnych kar Speed AS sortowanie zostanie przeprowadzone na zgrupowanym polu. Przy okazji, gdy sortowanie nie jest ważne, możesz uzyskać (małe) przyspieszenie, używając ORDER BY NULL.
10
Powinieneś używać wyprowadzonych tabel na swoim SQL. Na przykład, jeśli chcesz odebrać najnowszy wiersz dla specyficznej aktywności jesteś próba wykorzystania:
select *
from activities
group by id_customer
order by creation_date
ale to nie działa. Zamiast tego spróbuj:
SELECT *
FROM (select *
from activities
order by creation_date desc) sorted_list
GROUP BY id_customer