gpt4 book ai didi

sql - DB2 for AS400 中的简单查询

转载 作者:行者123 更新时间:2023-12-02 08:59:33 25 4
gpt4 key购买 nike

这是一个非常简单的查询(我认为),但我仍然做不到。

我有一些这样的数据:

A          B        C
1 1100 5
1 1100 5
1 500 1
2 1200 4
2 1200 4
2 600 1
3 1300 3
3 1300 3
3 700 1

我想返回每个 A 的顶部 B 以及 C 的总和,或者类似这样的内容:

A     B    C
1 1100 10
2 1200 8
3 1300 6

此外,我使用的是 DB2 for AS400,因此无法使用 TOP 关键字。

编辑@天啊小马:

我尝试过类似的东西

SELECT
t.A
,MAX(t.B)
,SUM(t.C)
FROM t
GROUP BY
t.A

但它返回 C 的总和,而不仅仅是所选的:

A    B    C
1 1100 11
2 1200 9
3 1300 7

谢谢!

最佳答案

看起来您想要每个 A 值的最大 B 值,所以

  SELECT t.a,
MAX(t.b)
FROM TABLE t
GROUP BY t.a

如果您希望整个记录与 AMAX(b) 值关联,请使用:

SELECT t.a,
t.b,
t.c
FROM TABLE t
JOIN (SELECT x.a,
MAX(x.b) AS max_b
FROM TABLE x
GROUP BY x.a) y ON y.a = t.a
AND y.max_b = t.b

关于sql - DB2 for AS400 中的简单查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2353790/

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