gpt4 book ai didi

mysql - 将 count(*) 从联接添加到查询

转载 作者:行者123 更新时间:2023-11-29 08:15:26 26 4
gpt4 key购买 nike

呃...我真的很难处理这些 mySQL 连接...

这就是我所追求的。我当前的查询如下所示。

SELECT profiles.photo, postings.postid, postings.text, postings.date, members.fname, members.lname, members.userid 
FROM profiles, postings, members
WHERE postings.wallid=postings.posterid
AND postings.wallid=members.userid
AND postings.wallid=profiles.userid

我正在尝试添加来自另一个表的匹配记录的计数(*)。另一个表称为 likes,并且 postings.postid = likes.post_id

我尝试过(并且没有返回结果)是这样的......

SELECT profiles.photo, postings.postid, postings.text, postings.date, members.fname, members.lname, members.userid,
(SELECT COUNT(*) FROM likes WHERE postings.postid=likes.post_id)
FROM profiles, postings, members, likes
WHERE postings.wallid=postings.posterid
AND postings.wallid=members.userid
AND postings.wallid=profiles.userid

我在这里所做的是添加嵌套的 SELECT,我认为这可以解决这个问题。

基本上,我要问的是......给定我的第一个查询,我如何才能获取 likes 表中的记录数,其中 postings.postid = likes .post_id?一如既往,我们始终感谢任何帮助/提示/建议。

最佳答案

尝试一下:

 SELECT profiles.photo, postings.postid, postings.text, postings.date, members.fname,members.lname, members.userid,
likes.like_count
FROM profiles, members, postings
LEFT JOIN (SELECT post_id, COUNT(*) like_count FROM likes GROUP BY post_id) as likes
ON postings.postid=likes.post_id
WHERE postings.wallid=postings.posterid
AND postings.wallid=members.userid
AND postings.wallid=profiles.userid

关于mysql - 将 count(*) 从联接添加到查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20712713/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com