gpt4 book ai didi

MySQL 分组依据和位置

转载 作者:行者123 更新时间:2023-11-29 04:45:58 25 4
gpt4 key购买 nike

假设我有一个 sql 表:table1 的记录如下所示:

id1    id2     status    value
A A123 VN 1
A A234 AB 2
B B123 VN 3
B B321 AB 4
C C324 AB 5

我想获取状态为 VN 的 id1、id2 以及共享相同 id1 的那些记录的最大值。

在这种情况下,输出应该是这样的

id1    id2     status    value
A A123 VN 2
B B123 VN 4

我不太确定如何编写查询,如有任何帮助,我们将不胜感激!

这是我到目前为止所做的。

select
test1.*
from test1
inner join
(select
part_id
from table1
where status = 'VN') a
on test1.id1 = a.id1;

我可以得到这个,但我不知道如何正确地做组和最大值(值):

id1    id2     status    value
A A123 VN 1
A A234 AB 2
B B123 VN 3
B B321 AB 4

最佳答案

一种简单的方法是使用相关子查询来获取最大值;

SELECT id1, id2, status, 
(SELECT MAX(value) FROM test1 t2 WHERE t1.id1 = t2.id1) value
FROM test1 t1
WHERE status = 'VN'

An SQLfiddle to test with .

关于MySQL 分组依据和位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18836894/

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