您现在的位置是: 首页 > MySQL MySQL
MySQL ANY_VALUE() 函数
冬寂
2022-07-27 15:30:07
【MySQL】
5229人已围观
MySQL ANY_VALUE() 函数返回指定列中的任意一个值,它用在包含了 GROUP BY 的语句中,以抑制 ONLY_FULL_GROUP_BY 导致的错误。
ANY_VALUE() 语法
这里是 MySQL ANY_VALUE() 函数的语法:
ANY_VALUE(column_name)
参数
column_name必需的。 一个列名。
返回值
MySQL ANY_VALUE() 函数返回指定列中的任意一个值。
ANY_VALUE() 示例
为了演示 ANY_VALUE() 函数的用法,让我们使用如下语句创建一个表 test_any_value,它包含了 id, user, 和 address 三个列:
CREATE TABLE test_any_value (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
address VARCHAR(255) NOT NULL
);
然后,让我们再插入几条数据:
INSERT INTO test_any_value (name, address)
VALUES
('Tom', 'Address 1 of Tom'),
('Tom', 'Address 2 of Tom'),
('Adam', 'Address of Adam');
让我们看一下表中的数据:
+----+------+------------------+
| id | name | address |
+----+------+------------------+
| 1 | Tom | Address 1 of Tom |
| 2 | Tom | Address 2 of Tom |
| 3 | Adam | Address of Adam |
+----+------+------------------+
现在,我们想要统计每个人的地址的数量,并显示每个人的任意一个地址:
SELECT name,
COUNT(address) AS count,
address
FROM test_any_value
GROUP BY name;
当我们运行这个语句的时候,MySQL 返回了一个错误:”ERROR 1055 (42000): Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column ’testdb.test_any_value.address’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by“。
这里,让我们使用 ANY_VALUE() 解决这个问题:
+------+-------+------------------+
| name | count | address |
+------+-------+------------------+
| Tom | 2 | Address 1 of Tom |
| Adam | 1 | Address of Adam |
+------+-------+------------------+
现在,MySQL 没有给出错误并返回了我们期望的结果。 这与在不使用 ANY_VALUE() 并将 ONLY_FULL_GROUP_BY 模式禁用掉的结果完全一样。
相关文章
随机图文
-
韦伯天文望远镜将会改写宇宙历史,如果它能正常工作的话(The Webb Space Telescope Will Rewrite Cosmic History. If It Works.)
韦伯天文望远镜将会改写宇宙历史,如果它能正常工作的话,The Webb Space Telescope Will Rewrite Cosmic History. If It Works. -
PHP password_hash() 函数
password_hash -
2021年一定会发生的五个科技突破
2020 年终于过去,世界还是一团糟,我们需要 2021 年带来几个好消息。最值得期待的好消息是科技进步,最靠谱的好消息也是科技进步。当然进步常常是意料之外的突破,但科技是一门高度可积累的业务:有很多进步是当前趋势的自然延伸,还有很多进步就如同东京奥运会一样,已经安排上了 -
关于Thinkphp6 Route设置,Url访问的一个问题
关于Thinkphp6 Route设置,Url访问的一个问题
