Mysql 检索订阅服务器上的号码
我有两个表,表1(新闻)和表2(订户) 表1:id、新闻标题 表2:id、新闻id、用户idMysql 检索订阅服务器上的号码,mysql,sql,Mysql,Sql,我有两个表,表1(新闻)和表2(订户) 表1:id、新闻标题 表2:id、新闻id、用户id Table1 id | news_title -------------- 1 | News 1 2 | News 2 3 | news 3 Table2 id | news_title_id | user_id ---------------------------- 1 | 1 | 1 2 | 1 | 2 3 | 2
Table1
id | news_title
--------------
1 | News 1
2 | News 2
3 | news 3
Table2
id | news_title_id | user_id
----------------------------
1 | 1 | 1
2 | 1 | 2
3 | 2 | 3
我需要这样的查询结果
news_title | subscribers
------------------------
News 1 | 2
News 2 | 1
News 3 | 0
有什么帮助吗?一个简单的聚合
COUNT(*)
和一个左连接将完成这里的工作LEFT JOIN
和COUNT(*)
(而不是COUNT(user\u id)
)用于确保订户为零的标题仍然返回一行
SELECT
news_title,
COUNT(Table2.*) AS subscribers
FROM Table1 LEFT JOIN Table2 ON Table1.id = Table2.news_title_id
GROUP BY news.title
一个简单的聚合COUNT(*)
和一个左连接将完成这里的工作LEFT JOIN
和COUNT(*)
(而不是COUNT(user\u id)
)用于确保订户为零的标题仍然返回一行
SELECT
news_title,
COUNT(Table2.*) AS subscribers
FROM Table1 LEFT JOIN Table2 ON Table1.id = Table2.news_title_id
GROUP BY news.title
谢谢你的帮助和解释。谢谢你的帮助和解释。