gpt4 book ai didi

mysql - 选择每个组中的倒数第二条记录

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

有一个表Remark,包含如下所示的数据:

       SerialNo | RemarkNo  | Desp
=============================================
10 | 1 | rainy
10 | 2 | sunny
11 | 1 | sunny
11 | 2 | rainy
11 | 3 | cloudy
11 | 4 | sunny
12 | 1 | rainy

什么查询会返回以下结果:

             10 |         1 | rainy
11 | 3 | cloudy
12 | null | null

也就是说,应该返回每组中的倒数第二条记录?

假设一个SerialNo的所有RemarkNo都是连续的。备注号越大,备注越晚。因此,SerialNo 10 的倒数第二个 RemarkNo 是 1,Desp 'rainy'。

最佳答案

尝试:

select s.SerialNo, r.RemarkNo, r.Desp
from (select SerialNo, max(RemarkNo) maxRemark from Remark group by SerialNo) s
left join Remark r on s.SerialNo = r.SerialNo and s.maxRemark-1 = r.RemarkNo

( SQLFiddle here. )

关于mysql - 选择每个组中的倒数第二条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15453231/

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