具有多行的SQL语法

Mes*_*ing 2 php mysql database join

我现在已经尝试了1小时,尝试通过简单的SQL语法在INNER JOIN中找出如何从数据库中提取内容.

它几乎可以工作,我的问题是如何从表中选择多于一行.

我的SQL语法:

SELECT topics.topic_id, topics.topic_subject, COUNT(posts.post_topic) AS comments
FROM topics
INNER JOIN posts ON topics.topic_id = posts.post_topic = topics.topic_id
LIMIT 10
Run Code Online (Sandbox Code Playgroud)

当然,我不想使用WHERE语句,如果没有WHERE,它也不行.顺便说一句.我认为在ON之后这是错误的,但我不太确定.

谢谢!

Geo*_*ian 5

尝试:

SELECT topics.topic_id, topics.topic_subject, COUNT(posts.post_topic) AS comments
FROM topics
JOIN posts ON topics.topic_id = posts.post_topic
GROUP BY topics.topic_id, topics.topic_subject
LIMIT 10
Run Code Online (Sandbox Code Playgroud)

COUNT是一个汇总函数,但您没有告诉DB如何汇总(即汇总)数据.GROUP BY子句声明应根据topic_id和topic_subject汇总数据.

如果您只选择topic_id为NULL的行,您希望得到什么?(我假设它是主键.)我希望什么都不会,除非在帖子表中有一些孤立的帖子.