【发布时间】:2011-05-16 08:37:19
【问题描述】:
从这个问题开始 last_question 有这个表
`id`, `bbs_id`, `user_id`, `like_dislike`
(15, 4, 2, 0),
(14, 4, 1, 0),
(13, 3, 1, 0),
(12, 2, 1, 1),
(11, 1, 2, 0),
(10, 1, 1, 1);
如何查看单个用户喜欢或不喜欢的内容?假设我想要一个汇总表,其中包含所有喜欢和不喜欢的内容以及另一列用户 x 是否喜欢它。
这是我尝试过的查询
$user_id = 1;
SELECT bbs_id,
(SELECT like_dislike FROM bb_ratings WHERE user_id={$user_id}) AS thisUsersRating,
SUM(CASE WHEN like_dislike = 1 THEN 1 ELSE 0 END) AS likes,
SUM(CASE WHEN like_dislike = 0 THEN 1 ELSE 0 END) AS dislikes
FROM bb_ratings
GROUP BY bbs_id
我想我在这里遇到的问题是,您如何在此特定行中引用 user_id = x,而不是在所有行中。 提前致谢 安德鲁
【问题讨论】:
标签: php mysql normalization