mysql - COUNT 减少结果?

标签 mysql

没有 COUNT 的查询返回 3 条记录,而只有 1 条记录。

SELECT  `blog_cate` . * , COUNT( blogi.blog_cate ) AS num
FROM (
`blog_cate`
)
JOIN  `blogi` ON  `blogi`.`blog_cate` =  `blog_cate`.`blogi_cate_url`

结果:

+----+------------------+----------------+-----+
| id | blogi_cate_title | blogi_cate_url | num |
+----+------------------+----------------+-----+
|  1 | Базы данных      | batabase       |   3 |
+----+------------------+----------------+-----+

同样的查询,但没有 COUNT:

SELECT  `blog_cate` . * 
FROM (
`blog_cate`
)
JOIN  `blogi` ON  `blogi`.`blog_cate` =  `blog_cate`.`blogi_cate_url`

这会返回 3 条记录:

+----+------------------+----------------+
| id | blogi_cate_title | blogi_cate_url |
+----+------------------+----------------+
|  1 | Базы данных      | batabase       |
|  1 | Базы данных      | batabase       |
|  3 | Разработка       | razrabotka     |
+----+------------------+----------------+

是否可以使用COUNT并获得正常结果?

附:表:

+----+------------+
| id | blog_cate  |
+----+------------+
|  1 | batabase   |
|  2 | batabase   |
|  3 | razrabotka |
+----+------------+

+----+------------------+----------------+
| id | blogi_cate_title | blogi_cate_url |
+----+------------------+----------------+
|  1 | Базы данных      | batabase       |
|  2 | PHP              | php            |
|  3 | Разработка       | razrabotka     |
+----+------------------+----------------+

最佳答案

不带 group by 的 COUNT() 将对所有记录进行分组并生成它们的计数。在选择中添加更多字段将仅显示第一条记录的详细信息

关于mysql - COUNT 减少结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22131248/

相关文章:

c# - 使用Asp.Net更新mysql数据库

php - YiiFramework ServerPilot CDbConnection 找不到扩展名

mysql - 我的 node.js 服务器挂起 - 直到我发出 Ctrl+C

mysql - 安装Agiletoolkit在哪里设置数据库测试的mysql密码?

mysql - 使用 JDBC 对数据进行分组

mysql - 查找在某个时间段内出现而在另一个时间段内没有出现的用户ID

php - 如何使用php计算foreach内的总记录?

mysql - Qt Sql 驱动的问题

php - 选择依赖于父 ID 的列值而不需要 PHP 循环?

PHP-编辑记录