Следуя этому вопросу 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 в этой конкретной строке, а не ко всем строкам. Заранее спасибо Эндрю