求SQL 语句:按数据库顺序显示最后两条记录

求SQL 语句:按数据库顺序显示最后两条记录,第1张

select *

from 表名

where 编号 in (d,e)

order by 编号 ————按升序排列

select *

from 表名

where 编号 in (d,e)

order by 编号 desc ————按降序排列

关键要有主键KEY才行

首先,需要符合两个条件,即where a=b and c=d;

其次,需要合并重复的资料,即group by a

最后,只显示2条记录,即top 2;

整条sql就是:

select top 2 * from table where a=b and c=d group by a

上面是a字段有重复的情况,若多个字段有重复,则:

select top 2 * from table where a=b and c=d group by a,b,c

首先,因为不知道您用的是什么数据库。

如下,仅以Oracle为例,希望可以触动您的灵感,SQL如下:

1

2

3

4

5

6

7

8

9

select

t2.*

from (

select

t1.*,

rank() over(partition by t1.编号 order by t1.日期 desc) as rk

from contract t1

) t2 where 1=1

and t2.rk = 1

语句简介:以“t1.编号”为分区维度,每个分区再以“t1.日期 desc”为排序规则,返回每个分区排序后的顺序号,每个分区以 1 为排序起始索引。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6839670.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-29
下一篇 2023-03-29

发表评论

登录后才能评论

评论列表(0条)

保存