gpt4 book ai didi

MySQL SELECT 唯一列,其中其他列为最大值

转载 作者:可可西里 更新时间:2023-11-01 07:49:52 26 4
gpt4 key购买 nike

我有这样的 table

  id     |     serial_num     |      version     | .....
1 | 1 | 1 | .....
2 | 2 | 1 | .....
3 | 2 | 2 | .....
4 | 3 | 1 | .....
5 | 4 | 1 | .....
6 | 5 | 1 | .....
7 | 5 | 2 | .....
8 | 5 | 3 | .....

现在我要选择的是获取具有最大版本和唯一 serialn_num 的行 ...

结果是:

  id     |     serial_num     |      version     | .....
1 | 1 | 1 | .....
3 | 2 | 2 | .....
4 | 3 | 1 | .....
5 | 4 | 1 | .....
8 | 5 | 3 | .....

我的 SQL 有点复杂,这就是为什么我不使用 MAX() 来解决问题...我几乎没有左连接等...

有什么想法吗?

致以最诚挚的问候,感谢您抽出宝贵时间!

最佳答案

试试这个:

SELECT yourtable.*
FROM yourtable
WHERE (serial_num, version) in (select serial_num, max(version)
from yourtable
group by serial_num)

子查询将返回 serial_num 的最大版本,因此这将返回 serial_num 具有最大值的所有行。参见 this fiddle .

关于MySQL SELECT 唯一列,其中其他列为最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14159792/

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