sql group 后按分组数量的多少排序怎么写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql group 后按分组数量的多少排序怎么写?相关的知识,希望对你有一定的参考价值。

数据表内有一个种类字段,把商品分成了N种,我想使用sql语句列出有多少种类,也就是group by 种类 ,但是我想输出时是按种类的多少进行排序,也就是历史类有100个产品 自然类有200个产品 法律类有300个产品
那么就输出
法律 300
自然 200
历史 100

数据表内有一个种类字段,把商品分成了N种,我想使用sql语句列出有多少种类,也就是group by 种类 ,但是我想输出时是按种类的多少进行排序,也就是历史类有100个产品 自然类有200个产品 法律类有300个产品
那么就输出
法律 300
自然 200
历史 100
select 种类,sum(数量) from 表名 group by 种类 order by sum(数量) desc
试试:
<?php
$sql="SELECT products_id,COUNT(products_id) FROM orders_products GROUP BY products_id ORDER BY COUNT(products_id) DESC";
?>
参考技术A select 种类,sum(数量) from 表名 group by 种类 order by sum(数量) desc

试试看本回答被提问者和网友采纳

sqlserver2008,sql编程,group by 用法

参考技术A 语句中有group
by的话,说明是进行分组聚合查询,因此select后的属性只能是group
by后面的分组属性和在其它字段上的聚合函数结果(avg平均值,sum求和,count计数等),而order
by后的属性也必须是分组属性或聚合结果,因为此时是对分组后的结果进行排序。
group
by相当于对数据分组,分组属性有多少各不同的值就有多少各分组,每个分组是结果集中一条记录

以上是关于sql group 后按分组数量的多少排序怎么写?的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver2008,sql编程,group by 用法

sql中 group by排序

mysql语句,分组去重,排序问题

SQL中的group by为啥是按照分组的第二个字段排序的呢?

mysql中group by里面的问题

SQL中查询多个字段时,GROUP BY 要怎么使用?