php - 多行的 SQL 语法

标签 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

当然,我不想使用 WHERE 语句,而且没有 WHERE 语句也不起作用。顺便提一句。我认为ON之后是错误的,但我不太确定。

谢谢!

最佳答案

尝试:

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

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

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

关于php - 多行的 SQL 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3126332/

相关文章:

php - 对加拿大 SMS 网关提供商的建议

php - 使用fork代替原始存储库

mysql - 将数据库上传到 GitHub

mysql - "appointments"的多对多主键

mysql - 在 phpMyAdmin 中使用文件夹组织数据库

mysql - 在数据库中存储默认值的最佳方法是什么?

javascript - PHP - 获取 jQuery 生成的 div 内容

php - 替换为空格 CKEditor

php - codeigniter php 空值作为零 (0) 提交给 mysql 数据库

mysql - 在第一个表中的值已更新的情况下替换第二个表中的值的最佳方法?