默认情况下,GROUP BY
子句提取的数据按升序排序。
如何将其更改为降序。
答案 0 :(得分:12)
您应该在SQL上使用派生表。 例如,如果您想要获取您尝试使用的特定活动的最新行:
select *
from activities
group by id_customer
order by creation_date
但它不起作用。请尝试改为:
SELECT *
FROM ( select *
from activities
order by creation_date desc ) sorted_list
GROUP BY id_customer
答案 1 :(得分:8)
将DESC
添加到GROUP BY
子句,例如:
GROUP BY myDate DESC
答案 2 :(得分:7)
正如MySQL documentation所说,
SELECT * FROM foo GROUP BY bar
相当于
SELECT * FROM foo GROUP BY bar ORDER BY bar
无法更改默认行为,但您可以使用
SELECT * FROM foo GROUP BY bar ORDER BY bar DESC
没有经历任何速度惩罚,因为无论如何将对分组的场进行分类。 顺便说一句,当排序不重要时,你可以通过使用ORDER BY NULL来获得(小)加速。
答案 3 :(得分:1)
ORDER BY foo DESC
?