SQL 中 ORDER BY 和 GROUP BY 的区别、用法以及两者如何同时使用

对于新手来说,不太容易分清楚 ORDER BYGROUP BY 的区别,其实从字面意思就可以理解。

ORDER BY 是排序,准确的说是对某个或某几个字段的值进行排序,ASC 是升序,DESC 是降序,默认为升序。

GROUP BY 是分组,准确的说是对某个字段相等的值为一组的聚合分组,聚合函数一般有:COUNT()SUM()AVG()MAX()MIN()等几种。

ORDER BYGROUP BY 单独使用都比较简单,那两者如何同时使用呢?

比如有这样一个场景,一个新闻网站需要统计今天评论数的 TOP 10,就可以使用如下 SQL 语句:

SELECT COUNT(*) FROM news_comment GROUP BY comment_id ORDER BY COUNT(*) DESC LIMIT 10;

猜你喜欢

转载自blog.csdn.net/yilovexing/article/details/130972487