gpt4 book ai didi

mysql - 合并两列,使用 group by 求平均值并使用 group by 查找最小值

转载 作者:行者123 更新时间:2023-11-29 06:44:39 24 4
gpt4 key购买 nike

标题可能没有准确描述我的问题,对此表示抱歉。

我有两个表:

    2016Athletes:
Name Position 40_dash Year Overall
Jared Goff QB 4.82 2016 1
Carson Wentz QB 4.77 2016 2
Joey Bosa DE 4.88 2016 3
Ezekiel Elliott RB 4.47 2016 4
Jalen Ramsey CB 4.41 2016 5
............

    2017Athletes:
Name Position 40_dash Year Overall
Myles Garrett DE 4.64 2017 1
Mitchell Trubisky QB 4.67 2017 2
Solomon Thomas DE 4.69 2017 3
Leonard Fournette RB 4.51 2017 4
Corey Davis WR NULL 2017 5
..............

我首先想合并 40_dash 列并找到平均值,我可以通过几种方法做到这一点,但我遇到的真正问题是在找到平均值后,我想按位置分组。我不确定这是否相关,但目标是最终选择一名我知道是令人印象深刻的异常值的特定运动员,并将他与所有运动员、所有防守球员和所有线卫的平均水平进行比较,这个分组是我最初的分组我的报告中以下查询的基线。

我最好的办法是

    select avg(40_dash)
from ((select 40_dash from 2016Athletes) union ALL
(select 40_dash from 2017Athletes)
)sl GROUP BY Position;

但是,我知道这行不通,因为按函数分组不正确。我不知道合并后如何调用“联合”列。

之后,我想找到每个运动员的禁食 40_dash 时间,也按位置分组。 min() 函数似乎可以完成这项工作,但 group by 再次让我困惑。

感谢任何可以提供帮助的人!

最佳答案

您需要在子查询中选择position列,以便您可以在主查询中按它进行分组。

SELECT Position, AVG(40_dash)
FROM (
SELECT Position, 40_dash FROM 2016Athletes
UNION ALL
SELECT Position, 40_dash FROM 2017Athletes
) as x
GROUP BY Position

请参阅 SQL select only rows with max value on a column 了解如何找到每组中用时最快的玩家。然后,您可以将该查询与上述查询连接起来,以比较最快与平均值。

关于mysql - 合并两列,使用 group by 求平均值并使用 group by 查找最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50071658/

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