自己百度了半天总结的精华

废话不多说直接上代码

SELECT * FROM USER

正常分组的结果

SELECT username,COUNT(*) AS Number FROM USER WHERE use_status='2' GROUP BY username

方法1

SELECT t.username,SUM(t.Number) AS Number FROM
(SELECT username,COUNT(*) AS Number FROM USER WHERE use_status='2' GROUP BY username
UNION ALL
SELECT username,0 FROM USER GROUP BY username) AS t  GROUP BY t.username

方法2

SELECT username,COUNT(CASE WHEN use_status='2' THEN use_status ELSE NULL END) AS use_status FROM USER GROUP BY username

惊喜

最后的结果

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐