+ -
当前位置:首页 → 问答吧 → 查询或者修改一张表 自动排序

查询或者修改一张表 自动排序

时间:2011-10-27

来源:互联网

比如查询一张表,不管我order by哪一个字段 该表的 id 字段总是从1开始 每次加1

比如现有一张表student(stuid,stuname)
数据为:
1 a
2 b
3 ac
4 ba
5 bd
如果我order by stuname 那么顺序应该是(a,ac,b,ba,bd) 怎样让他们的id值从1到5

还有删除的时候,自动重新排序

作者: wxl1990721   发布时间: 2011-10-27

SQL code

select rownum,stu.* from (
select stuname from student
order by stuid) stu

作者: BOBO12082119   发布时间: 2011-10-28

引用楼主 wxl1990721 的回复:
比如查询一张表,不管我order by哪一个字段 该表的 id 字段总是从1开始 每次加1

比如现有一张表student(stuid,stuname)
数据为:
1 a
2 b
3 ac
4 ba
5 bd
如果我order by stuname 那么顺序应该是(a,ac,b,ba,bd) 怎样让他们的id值从1到5

还有删除的时候,自动重新排序

把表中的id列去掉,也不用维护,你每次取数据时加上rownum做为id列就可以了。
select rownum id,talbe.* from table

作者: xiaobn_cn   发布时间: 2011-10-28