MySQL自动统计各id_rt对应行数的方法咨询
一键搞定MySQL多id_rt的自动统计问题
嘿,我太懂你手动改100多次WHERE条件的痛苦了!其实完全不用这么麻烦,MySQL的GROUP BY分组统计功能就是专门解决这类问题的,直接一行SQL就能生成你想要的结果表。
核心解决方案
直接用分组统计语句,一次性输出所有id_rt对应的记录数:
SELECT id_rt, COUNT(id_rt) AS 记录数 FROM krt GROUP BY id_rt;
语句拆解
COUNT(id_rt):统计每个id_rt分组下的有效记录数(如果id_rt不会为空,用COUNT(*)结果也一样,效率甚至更高一点)AS 记录数:给统计列起个直观的别名,方便你看结果GROUP BY id_rt:这是关键!告诉MySQL按照id_rt的不同取值分组,自动对每个组单独计算数量
扩展用法
如果想让结果按记录数从多到少排序,加个ORDER BY就行:
SELECT id_rt, COUNT(id_rt) AS 记录数 FROM krt GROUP BY id_rt ORDER BY 记录数 DESC;
要是你只想统计特定范围的id_rt(比如只看大于80000的),可以先过滤再分组:
SELECT id_rt, COUNT(id_rt) AS 记录数 FROM krt WHERE id_rt > 80000 GROUP BY id_rt;
这样跑出来的结果就是每个id_rt和它对应的计数,完全不用手动一个个查啦!
内容的提问来源于stack exchange,提问作者clematic
相关产品推荐
相关产品推荐

