Emi*_*man 3 mysql sql group-by aggregate
我有一个名为表votes的列id,image_id,user_id和time.
如果特定user_id是每个选票之一,我如何在结果中添加一个bool image_id?
SELECT image_id,
count(image_id) as vote_count
FROM votes
GROUP BY image_id
ORDER BY vote_count DESC
Run Code Online (Sandbox Code Playgroud)
我已经尝试过,if(user_id = 18, 1, 0) as have_voted但它并不适合每个人image_id.
那么总结所有user_id你想要的行,并检查这个总和是否大于0?
SELECT image_id,
count(image_id) as vote_count,
SUM(IF(user_id = 18,1,0)) > 0 AS hasUser18
FROM votes
GROUP BY image_id
ORDER BY vote_count DESC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6206 次 |
| 最近记录: |