我有下表:
评分:
ID | post_id | rating_type
rating_type字段是'拇指向上'或'拇指向下'。我想得到一个结果集,告诉我评分最高的帖子是什么。以下查询为我提供了一个结果集,其中包含每个唯一post_id的投票数。
SELECT COUNT(post_id) as number_up, post_id FROM wp_sp_post_ratings WHERE rating_type = 'thumb-up' GROUP BY post_id
太棒了!对于拇指向下评级类型,我可以做类似的事情。但是,我需要的是获得总评分,其中每个拇指向上给出一个点的帖子,每个拇指向下给帖子一个负点。然后,我需要按总评分来订购。所以,说我们有以下几点:
帖子1有3张投票和2张投票 第2篇有14个投票和33个投票 第3篇有4个投票和0个投票
我希望看到如下结果集:
post_id | total_rating
3 | 4
1 | 1
2 | -19
我不知道该怎么做。我现在已经对文档和谷歌大约2个小时了,所以我希望这可以成为我的救星。
答案 0 :(得分:4)
SELECT SUM(CASE WHEN rating_type = 'up' THEN 1 WHEN rating_type = 'down' THEN -1 END CASE)
FROM posts
GROUP BY post_id
P上。 S.最好将选票保持为数字(+1和-1)而不是字符串。
答案 1 :(得分:0)
最初,为什么不直接将拇指竖起为1,拇指向下竖起? Quassnoi在案件陈述中更快......