我正在尝试使用类似的ID连接两个表,然后获得两个字段的总和。让我解释一下:
测试表: id |发布| desc |日期
likes_dislikes table: id | song_id | user_ip |像|不喜欢
在测试'测试表'上,'id'与likes_dislikes'song_id'匹配,所以我尝试了LEFT JOIN,因为不是每个帖子都会在likes_dislikes表中有一个id,但我得到了重复的结果。
SELECT *
FROM
test
LEFT JOIN likes_dislikes ON test.song_id = likes_dislikes.page_id
GROUP BY test.song_id
ORDER BY test.id DESC LIMIT $start, $limit
我如何防止重复内容,并且在我通过while循环时获得与每个帖子相关的TOTAL喜欢/不喜欢?
答案 0 :(得分:1)
我假设你正在寻找这样的东西:
SELECT
T.`id`,
T.`post`,
T.`desc`,
T.`Date`,
COUNT(L.`like`) as `LikeCount`,
COUNT(L.`dislike`) as `DislikeCount`
FROM `test` T
LEFT JOIN `likes_dislikes` L
ON T.`Id` = L.`song_id`
GROUP BY T.`Id`, T.`post`, T.`desc`, T.`Date`
ORDER BY T.`id` DESC;