gpt4 book ai didi

sql - 在 HIVE 中分组不能像我想要的那样工作

转载 作者:可可西里 更新时间:2023-11-01 16:46:17 25 4
gpt4 key购买 nike

你好,所以我正在尝试输出具有最多 AB(运行)playerid 的城市。

输出在
中击球数(AB)最多的球员的出生城市他的职业生涯。

现在我得到了我想要的 Cinncinati, sander01, 14432,这是正确的。但它会像这样出现在 3 中。对于每个城市和球员来说也是如此,就像第二名一样。我只需要 1 个条目,其他 2 个是多余的。我认为我对 group by 做错了什么,有什么帮助吗?请

Cinncinati, sander01, 14432
Cinncinati, sander01, 14432
Cinncinati, sander01, 14432
Chicago, dere90, 12324
Chicago, dere90, 12324
Chicago, dere90, 12324



SELECT a.bcity,a.id, b.ab FROM master a
JOIN
(SELECT id, SUM(ab) as ab FROM batting
GROUP by id) b
ON a.id = b.id
ORDER by b.ab DESC
limit 30;

最佳答案

引用DISTINCT以获得不同的结果集。现在来回答你的问题,将主表与结果集 b 的第一行连接起来。

select a.bcity,b.id,b.ab from master a 
join
(select id,sum(ab) as ab from batting
group by id
order by ab desc
limit 1
) b
on a.id = b.id

您可以将 LIMIT 30 更改为 LIMIT 1 并获得相同的结果。

SELECT a.bcity,a.id, b.ab FROM master a 
JOIN
(SELECT id, SUM(ab) as ab FROM batting
GROUP by id
) b
ON a.id = b.id
ORDER by b.ab DESC
limit 1;

注意:如果有多位玩家的得分相同,则 LIMIT 1 不会给出正确答案。

关于sql - 在 HIVE 中分组不能像我想要的那样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36783574/

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