gpt4 book ai didi

mysql - 根据 SQL 规范,对此 sql 查询的这些响应中哪些更正确?

转载 作者:行者123 更新时间:2023-11-29 20:03:39 26 4
gpt4 key购买 nike

根据 SQL 规范,对此 sql 查询的这些响应中哪些更正确?

这是mysql更高版本的响应

C:\wamp\bin\mysql\mysql5.7.11\bin>mysql.exe --version
mysql.exe Ver 14.14 Distrib 5.7.11, for Win32 (AMD64)

mysql> select * from blah6;
+------+------+
| col1 | col2 |
+------+------+
| 6 | 8 |
| 7 | 8 |
| 9 | 3 |
| 6 | 3 |
+------+------+
4 rows in set (0.01 sec)

mysql> select sum(col1),col2 from blah6;
+-----------+------+
| sum(col1) | col2 |
+-----------+------+
| 28 | 8 |
+-----------+------+
1 row in set (0.00 sec)

mysql>

对比

这里是早期 mysql 版本的响应

C:\wamp\mysql\bin>mysql.exe --version
mysql.exe Ver 14.12 Distrib 5.0.27, for Win32 (ia32)

mysql> select * from asdf2;
+------+------+
| col1 | col2 |
+------+------+
| 5 | 6 |
| 9 | 3 |
| 29 | 13 |
| 44 | 13 |
| 44 | 53 |
| 5 | 33 |
+------+------+
6 rows in set (0.00 sec)

mysql> select sum(col1),col2 from asdf2;
ERROR 1140 (42000): Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause

最佳答案

这些评论涵盖了要点:首先是 MySQL 中的一个(错误)功能,它会导致困惑,并且通常会鼓励不良的编码实践。该错误是正确的行为。

我想指出的是,这与MySQL版本无关。两者的操作方式相同。问题是模型ONLY_FULL_GROUP_BY是否设置。设置此模式后,MySQL 可以更好地遵循聚合查询的 ANSI 标准(请阅读 here )。

注意:可以使用更全面的 ANSI 模式来设置此模式。

关于mysql - 根据 SQL 规范,对此 sql 查询的这些响应中哪些更正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40428214/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com