带排序依据的 SQL 组 [英] SQL Group with Order by
本文介绍了带排序依据的 SQL 组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
感觉它应该有一个基本的解决方案,但我似乎没有得到它.
This feels like it should have a basic solution but I don't seem to be getting it.
接受这个查询:
SELECT Category FROM Article
GROUP BY Category
我想有效地做到这一点:
I want to effectively do this:
SELECT Category, DatePublished FROM Article
GROUP BY Category
ORDER BY DatePublished DESC
我真的不想选择 DatePublished,但按它订购似乎很有意义.但这不起作用.
I don't really want to select DatePublished, but it seemed to make sense to order by it. That doesn't work though.
基本上我想按最新的 DatePublished 文章对类别进行排序.
Basically I want to order categories by the most recent DatePublished article.
推荐答案
SELECT Category
FROM Article
GROUP BY
Category
ORDER BY
MAX(DatePublished) DESC
既然你做了一个GROUP BY
,你需要在非分组列上运行一些聚合函数.
Since you do a GROUP BY
, you need to run some aggregate function over non-grouping columns.
MAX
将从每个类别中选择最后发表文章的日期,并相应地对类别进行排序.
MAX
will select the date of last published article from each category and order categories accordingly.
这篇关于带排序依据的 SQL 组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文