gpt4 book ai didi

获取列平均值的MySQL问题

转载 作者:搜寻专家 更新时间:2023-10-30 19:56:51 25 4
gpt4 key购买 nike

我有一个包含三列 id、name 和 height 的 MySQL 表。

我想运行一个查询以返回所有条目的名称和高度,以及所有条目的平均高度。所有这些事情都必须在一个查询中完成。

这是我试过的。

SELECT name, height, avg(height) as average_height FROM mytable

此查询仅返回一行,但平均高度是正确的。

name    height    average_height
--------------------------------
Harry 165 169.5

然后我尝试了这个查询

SELECT name, height, avg(height) as average_height FROM mytable GROUP BY name

然后它返回所有行,但平均值不正确

name    height    average_height
--------------------------------
Harry 165 165
Tom 170 170
George 180 180
Raj 163 163

如何在单个查询中获取平均值以及所有行。

最佳答案

这是一种方法:

SELECT name, height, average_height FROM mytable CROSS JOIN (
select avg(height) as average_height FROM mytable
) as avg;

SQLFiddle example (更新示例以反射(reflect)使用 CROSS JOIN 的建议)。

关于获取列平均值的MySQL问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14382237/

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