ID(主键(自增加1) name
1 abc
3 efg
100 cctv
120 aede
对于以上的表结构,如果我想得到例如以下的结果,该怎么写sql呢1 abc
2 efg
3 cctv
4 aede期望大家的关注
1 abc
3 efg
100 cctv
120 aede
对于以上的表结构,如果我想得到例如以下的结果,该怎么写sql呢1 abc
2 efg
3 cctv
4 aede期望大家的关注
解决方案 »
- SLQ SERVER怎么约束字段的取值的前两个字符为大写字母?
- 问个很低级的问题.....................
- 哪里错了...
- 网站可以正常浏览,但SQL2005日志一直不写地写入Network service登陆的错误
- 求如何用一句SQL语句来实现,马上给分
- 哪有sql server 2005 Standard Edition 下载
- 数据库复制的触发器问题
- 高分求:只用存储过程创建MDB(ACCESS数据库)的语句
- server sql2005数据导入到Mysql中
- 帮我看一下这两段有什么问题吧,
- 为什么SQLServer2000连接不上
- 咨询一个数据库中动态将更新本机IP地址的解决办法
--2000
select pid=(select count(1) from 表名 where ID<=a.ID), name from 表名 a
--2005
select pid=row_number() over(order by id),name from 表名
insert @t select 1,'abc'
insert @t select 3,'efg'
insert @t select 100,'cctv'
insert @t select 120,'aede'select ROW_NUMBER() over(order by id) as id,name
from @t
/*
id name
-------------------- --------------------
1 abc
2 efg
3 cctv
4 aede
*/
name
from ta a
select id = (select count(1) from tb where name < t.name) + 1 , name from tb t--sql 2005
select id = row_number() over(order by name) , name from tb
create table tb(ID int, name varchar(10))
insert into tb values(1 ,'abc')
insert into tb values(3 ,'efg')
insert into tb values(100 ,'cctv')
insert into tb values(120 ,'aede')
goselect id = (select count(1) from tb where id < t.id) + 1 , name from tb tdrop table tb/*
id name
----------- ----------
1 abc
2 efg
3 cctv
4 aede(所影响的行数为 4 行)
*/--sql 2005
create table tb(ID int, name varchar(10))
insert into tb values(1 ,'abc')
insert into tb values(3 ,'efg')
insert into tb values(100 ,'cctv')
insert into tb values(120 ,'aede')
goselect id = row_number() over(order by id) , name from tb drop table tb/*
id name
-------------------- ----------
1 abc
2 efg
3 cctv
4 aede(4 行受影响)*/