6

votesidimage_iduser_idおよび と呼ばれるテーブルがありますtime

user_id特定の投票がそれぞれの投票の 1 つである場合、結果に bool を追加するにはどうすればよいimage_idですか?

SELECT image_id,
count(image_id) as vote_count
FROM votes
GROUP BY image_id 
ORDER BY vote_count DESC

試してみif(user_id = 18, 1, 0) as have_votedましたが、それぞれでは機能しませんimage_id

4

1 に答える 1

15

が目的の行であるすべての行を合計し、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
于 2013-01-15T14:33:26.000 に答える