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 为排序起始索引。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)