如何编写查询统计单字段内不同Type的总数量并按数量升序排列
按类型统计对象数量并升序排序查询方案
核心实现逻辑
我们需要对表内Type字段做分组聚合,统计每个类型对应的对象总数,最终按统计的数量从小到大排序,标准SQL实现方式如下:
查询语句
假设存储上述数据的表名为object_info,如果你的实际表名、字段名和示例不同,替换成对应名称即可:
SELECT Type, COUNT(*) AS object_count FROM object_info GROUP BY Type ORDER BY object_count ASC;
语句拆解说明
GROUP BY Type:将表中所有数据按Type字段的取值分组,相同Type的记录会被归到同一组COUNT(*) AS object_count:统计每个分组内的记录总数,别名设为object_count,就是对应类型的对象总数量ORDER BY object_count ASC:按统计得到的object_count字段升序排序,得到数量从少到多的结果
示例运行结果
对应你给出的测试数据,执行上述语句后输出结果如下:
| Type | object_count |
|---|---|
| plastic | 1 |
| paper | 2 |
| metal | 3 |
| wood | 4 |
内容的提问来源于stack exchange,提问作者Sienna Anderson
相关产品推荐
相关产品推荐

