sql查询统计

![我需要统计各个layerid对应的U、A是多少。比如
HYD_NET_LN U 5 A 10
HYD_VAL_PT U 8 A 25
应该如何写
][1]
图片描述

阅读 3.5k
5 个回答

简单点,不知道这样可不可以。
SELECT layerid,ChangeMold,COUNT(ChangeMold) FROM table_name
GROUP BY layerid,ChangeMold

clipboard.png

select count(*),layid,changeMold from tbl group by layid,changeMold

SELECT 
layerid,
sum(case when changeMold='U' then 1 else 0 end) changeMold_U,
sum(case when changeMold='A' then 1 else 0 end) changeMold_A
FROM table_name 
GROUP BY layerid;

如果 要 统计这种大文件 的话 。还是都查出来 然后再处理数组方便点(sql比较弱 )

select layerid,changeMold,count(*) as num from TABLE where layerid in (select layerid from TABLE group by layerid) group by changeMold; 这条sql的性能很不好

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题