sql添加序号
--sql 2000
select 序号 = (select count(1) from tb where 学号 < t.学号) + 1,学号 ,姓名 from tb t
--sql 2005
select 序号 = row_number() over(order by 学号),学号 ,姓名 from tb
--oracle
select row_number() over(order by 学号) 序号,学号 ,姓名 from tb
--postsql
SELECT ROW_NUMBER () OVER ( ORDER BY A0 DESC,B0 DESC,C0 DESC ) AS rid ,* FROM t_road WHERE A0 = 'X' ORDER BY A0, B0,C0 ;
1)这里特意说明:sql 2000的方式(下一行的序号,在上一行基础上+1),因为刚好遇到,必须用这种方式的情况:需要给每行添加行号
情况:由于后台的分页接口,会将查询的sql截断(会根据order by截断),因此不能使用通过order by添加序号的方式(蛋疼的操作)。
后果:我们的sql会被截断,因为他接口要将order by排除后,将sql求总和。