Mysql 可以在内部联接中使用Count(*)吗?
目前我拥有以下数据库: 表1:客户商店 表2:客户喜欢的故事 第二个表中的“like”列包含1或0,用于指示用户是否喜欢帖子Mysql 可以在内部联接中使用Count(*)吗?,mysql,Mysql,目前我拥有以下数据库: 表1:客户商店 表2:客户喜欢的故事 第二个表中的“like”列包含1或0,用于指示用户是否喜欢帖子 我想做的是将这两个表与“post_id”连接在一起,并根据post_id计算所有帖子的所有“喜欢”,然后根据每个帖子得到的喜欢程度排序。用一句话就能做到这一点吗?还是先用计数*来确定每篇文章有多少喜欢的人更好?是的,这是可能的,但不需要内部联接,因为实际上不需要posts表来完成 SELECT post_id, count(like) AS post_likes FROM
我想做的是将这两个表与“post_id”连接在一起,并根据post_id计算所有帖子的所有“喜欢”,然后根据每个帖子得到的喜欢程度排序。用一句话就能做到这一点吗?还是先用计数*来确定每篇文章有多少喜欢的人更好?是的,这是可能的,但不需要内部联接,因为实际上不需要posts表来完成
SELECT post_id, count(like) AS post_likes
FROM likes
WHERE like = 1
GROUP BY post_id
ORDER BY post_likes DESC
如果还需要posts表中的其他信息,可以将其连接到一个子查询,该子查询可以获得类似的计数
SELECT posts.*, like_count
FROM
posts LEFT JOIN
(SELECT post_id, count(like) AS like_count
FROM likes
WHERE like = 1
GROUP BY post_id) AS post_likes
ON posts.post_id = post_likes.post_id
ORDER BY like_count DESC
我使用了左连接而不是内部连接,如果不想包含没有喜欢的帖子,可以使用内部连接。是的,这是可能的,但不需要内部连接,因为实际上不需要posts表来完成
SELECT post_id, count(like) AS post_likes
FROM likes
WHERE like = 1
GROUP BY post_id
ORDER BY post_likes DESC
如果还需要posts表中的其他信息,可以将其连接到一个子查询,该子查询可以获得类似的计数
SELECT posts.*, like_count
FROM
posts LEFT JOIN
(SELECT post_id, count(like) AS like_count
FROM likes
WHERE like = 1
GROUP BY post_id) AS post_likes
ON posts.post_id = post_likes.post_id
ORDER BY like_count DESC
我使用了左连接而不是内部连接,如果您不想包含没有喜欢的帖子,可以使用内部连接。如果表1中没有其他信息,您需要此查询,那么您为什么要加入?更新了OP,很抱歉,当时没有数据库如果表1中没有您需要的其他信息,那么您为什么要加入?更新了OP,很抱歉,当时没有数据库感谢您的回答,@不要惊慌,我已经更新了OP以更好地反映数据库中的数据。我当前收到一个未知列错误:选择客户故事。*,如来自客户故事内部连接的故事计数选择故事id,countlikex作为like_count FROM customer_stories_likes其中likex=1 GROUP BY unique_id作为post_likes ON customer_stories.unique_id=customer_stories_likes.story_id按like_count DESC LIMIT订购5@Aaranihlus看起来未知列在子查询中是唯一的\u id。应该是story_id。感谢您的回答,@不要惊慌,我已经更新了OP以更好地反映数据库中的数据。我当前收到一个未知列错误:选择客户故事。*,如来自客户故事内部连接的故事计数选择故事id,countlikex作为like_count FROM customer_stories_likes其中likex=1 GROUP BY unique_id作为post_likes ON customer_stories.unique_id=customer_stories_likes.story_id按like_count DESC LIMIT订购5@Aaranihlus看起来未知列在子查询中是唯一的\u id。应该是故事情节。