为什么我们不应该在 MySQL SELECT 查询中使用没有 GROUP BY 子句的非分组字段的分组函数?

为什么我们不应该在 MySQL SELECT 查询中使用没有 GROUP BY 子句的非分组字段的分组函数?

这是因为如果没有 GROUP BY 子句,MySQL 返回的输出可能会产生误导。我们在下面给出的“学生”表中给出以下示例,以进行演示 -

mysql> Select * from Student; +------+---------+---------+-----------+ | Id | Name | Address | Subject | +------+---------+---------+-----------+ | 1 | Gaurav | Delhi | Computers | | 2 | Aarav | Mumbai | History | | 15 | Harshit | Delhi | Commerce | | 20 | Gaurav | Jaipur | Computers | +------+---------+---------+-----------+ 4 rows in set (0.00 sec) mysql> Select count(*), Name from Student; +----------+--------+ | count(*) | name | +----------+--------+ | 4 | Gaurav | +----------+--------+ 1 row in set (0.00 sec)登录后复制

现在,如果我们使用 GROUP BY 子句编写此查询,则结果集如下如下 -

mysql> Select count(*), name from student GROUP BY id; +----------+---------+ | count(*) | name | +----------+---------+ | 1 | Gaurav | | 1 | Aarav | | 1 | Harshit | | 1 | Gaurav | +----------+---------+ 4 rows in set (0.00 sec)登录后复制

以上就是为什么我们不应该在 MySQL SELECT 查询中使用没有 GROUP BY 子句的非分组字段的分组函数?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!