在单个查询中获取总计数和条件计数

syn*_*012 -5 mysql sql count

我在 MYSQL 数据库中有一个名为 apps 的表。

ID 来源
1 脸书
2 总督
3 TW
4 脸书
5
6 脸书

我想要一个查询来提供总计数和fb计数

总数 来源
6 3

him*_*056 7

fb在表中计数,请尝试以下操作:(使用SUM

SELECT COUNT(*) totalcount,
SUM(source='fb') source 
FROM table1
Run Code Online (Sandbox Code Playgroud)

另一种方法可以做到这一点:(使用COUNT

SELECT COUNT(*) totalcount,
COUNT(CASE WHEN source = 'fb' THEN 0 END) source 
FROM table1;
Run Code Online (Sandbox Code Playgroud)

要计算表中的所有源,请尝试以下操作:

SELECT COUNT(id) totalcount,
COUNT(DISTINCT source) source 
FROM table1
Run Code Online (Sandbox Code Playgroud)

请参阅此 SQLFiddle