Aym*_*ein 3 mysql sql t-sql sql-server
我有表包含img_id和likes列.例:
1 1
1 1
1 0
2 0
2 0
3 1
Run Code Online (Sandbox Code Playgroud)
所以当运行这个查询时:
select img_id, count(likes)
from my_table
where likes = 1
group by img_id
Run Code Online (Sandbox Code Playgroud)
这是结果:
1 2
3 1
Run Code Online (Sandbox Code Playgroud)
我跑的时候:
select img_id, count(likes)
from my_table
where likes = 0
group by img_id
Run Code Online (Sandbox Code Playgroud)
结果是:
1 1
2 2
Run Code Online (Sandbox Code Playgroud)
我的问题是:
怎么能在query1中返回img_id 2 = 0,我的意思是img_id = 2也没有喜欢也在查询2 img_id = 3没有不喜欢所以我需要返回3 - > 0
在MySQL和SQL Server中,
SELECT img_id,
SUM(CASE WHEN likes = 1 THEN 1 ELSE 0 END) totalLikes,
SUM(CASE WHEN likes = 0 THEN 1 ELSE 0 END) totalDisLikes
FROM tableName
GROUP BY img_ID
Run Code Online (Sandbox Code Playgroud)
或者只是在MySQL中,
SELECT img_id,
SUM(likes = 1) totalLikes,
SUM(likes = 0) totalDisLikes
FROM tableName
GROUP BY img_ID
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |