Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 可以在内部联接中使用Count(*)吗?_Mysql - Fatal编程技术网

Mysql 可以在内部联接中使用Count(*)吗?

Mysql 可以在内部联接中使用Count(*)吗?,mysql,Mysql,目前我拥有以下数据库: 表1:客户商店 表2:客户喜欢的故事 第二个表中的“like”列包含1或0,用于指示用户是否喜欢帖子 我想做的是将这两个表与“post_id”连接在一起,并根据post_id计算所有帖子的所有“喜欢”,然后根据每个帖子得到的喜欢程度排序。用一句话就能做到这一点吗?还是先用计数*来确定每篇文章有多少喜欢的人更好?是的,这是可能的,但不需要内部联接,因为实际上不需要posts表来完成 SELECT post_id, count(like) AS post_likes FROM

目前我拥有以下数据库:

表1:客户商店

表2:客户喜欢的故事

第二个表中的“like”列包含1或0,用于指示用户是否喜欢帖子


我想做的是将这两个表与“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。应该是故事情节。