飙血推荐
  • HTML教程
  • MySQL教程
  • JavaScript基础教程
  • php入门教程
  • JavaScript正则表达式运用
  • Excel函数教程
  • UEditor使用文档
  • AngularJS教程
  • ThinkPHP5.0教程

MySQL的group by 语句中,能否对count的元素进行筛选,在count(1)的同时,也对某个字段count符合条件的数量

时间:2021-12-15  作者:匿名  
作者:知乎用户
链接:https://域名/question/22191084/answer/150687850
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

用三种方法实现:

1、select sid ,count(1) ,sum(case when type > 0 then 1 else 0 end) from t_170309 group by sid

其实你自己的理解最接近于这个case when的语法

2、简洁的语法,可用count(condition or null)

select sid ,count(1) ,count(type>0 or null) from t_170309 group by sid;

3、避开count,用sum(if(condition,value1,value2))来实现

if函数是指,如果条件成立则返回value1,否则value2,所以这个思路类似于方法1

select sid ,count(1) ,sum(if(type>0 ,1,0 )) from t_170309 group by sid

标签:字段JAVA
湘ICP备14001474号-3  投诉建议:234161800@qq.com   部分内容来源于网络,如有侵权,请联系删除。