COUNT(*) returning multiple rows instead of just one(COUNT(*) 返回多行而不是一行)
问题描述
当我只需要查询生成的总行数时,为什么 COUNT() 返回多行?
Why does COUNT() return multiple rows when I just need the total count of how many rows my query generates?
应该返回 1078.
推荐答案
COUNT() 按预期工作.当您放置 group by 子句时,count() 会为您提供 GROUP BY 的结果.如果您希望获取包含 group by 的查询中的行数,请将其用作子查询.
The COUNT() is working as expected. When you put a group by clause, the count() gives you the result for GROUP BY. If you wish to get the count of rows in a query that includes group by, use it as a subquery instead.
类似于:
SELECT COUNT(*) FROM (SELECT * FROM `table`
GROUP BY `column1`) AS `a`
这篇关于COUNT(*) 返回多行而不是一行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:COUNT(*) 返回多行而不是一行
基础教程推荐
- 是否可以执行按位分组功能? 2021-01-01
- SQL:使用来自具有相同列名的两个表中的数据... 2021-01-01
- 在 SQL 中连接多个表 2021-01-01
- 无法解决整理冲突 2021-01-01
- SSMS 中的权限问题:“对象 'extended_properties'、数据库 'mssqlsystem_resource'、... 错误 229)上的 SELECT 权限被拒绝" 2022-01-01
- 如何使用 mysql.connector 禁用查询缓存 2022-01-01
- SQL 效率:WHERE IN 子查询 vs. JOIN 然后 GROUP 2021-01-01
- SQL Server 实例在登录协商期间返回无效或不受支持的协议版本 2021-01-01
- 将 SQL Server DateTime 列迁移到 DateTimeOffset 2021-01-01
- 需要 MySQL 5.1 中的抽象触发器来更新审计日志 2021-01-01
