SQL中,如何间隔固定行数更新数据
如截图所示,B为原表,每组数据是17行,现想将每组数据的PO_NO都按每组数据的第一行的PO_NO更新。每次更新数据可能是N组,截图以2组为例。...
如截图所示,B为原表,每组数据是17行,现想将每组数据的PO_NO都按每组数据的第一行的PO_NO更新。每次更新数据可能是N组,截图以2组为例。
展开
1个回答
展开全部
可用row_number来解决。
如student表:
姓名 年龄
张三 20
李四 15
王五 22
赵六 21
孙七 18
杨八 19
刘九 24
现在要按年龄从大到小取出前5条数据的话,可用如下语句:
1
2
3
4
select 姓名,年龄
from
(select 姓名,年龄,row_number() over (order by 年龄 desc) as rn from student) t
where rn<=5;
得到的结果是:
姓名 年龄
刘九 24
王五 22
赵六 21
张三 20
杨八 19
如student表:
姓名 年龄
张三 20
李四 15
王五 22
赵六 21
孙七 18
杨八 19
刘九 24
现在要按年龄从大到小取出前5条数据的话,可用如下语句:
1
2
3
4
select 姓名,年龄
from
(select 姓名,年龄,row_number() over (order by 年龄 desc) as rn from student) t
where rn<=5;
得到的结果是:
姓名 年龄
刘九 24
王五 22
赵六 21
张三 20
杨八 19
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询