当前位置: 代码迷 >> Sql Server >> 跪求sql
  详细解决方案

跪求sql

热度:20   发布时间:2016-04-27 12:18:39.0
跪求sql,在线等
test表结构如下
id,shopID
44 1
45 3
49 4
50 8
53 4
如何写sql语句,才能在查询结果构造字段seq,使结果如下:

seq,id,shopID
1 44 1
2 45 3
3 49 4
4 50 8
5 53 4

谢谢了,各位

------解决方案--------------------
SQL code
select  seq=row_number()over(order by getdate()),*from  test
------解决方案--------------------
SQL code
select row_number() over(order by id,shopID ) as seq, id,shopID  from [test ] order by id,shopID
------解决方案--------------------
SQL code
SELECT ROW_NUMBER() OVER (ORDER BY ID) AS SEG,*FROM TESTORDER BY ID
------解决方案--------------------
SQL code
--> 测试数据:[test]if object_id('[test]') is not null drop table [test]create table [test]([id] int,[shopID] int)insert [test]select 44,1 union allselect 45,3 union allselect 49,4 union allselect 50,8 union allselect 53,4select seq=(select COUNT(1)     from test b where b.ID<=a.ID),* from test a/*seq    id    shopID---------------------1    44    12    45    33    49    44    50    85    53    4*/
------解决方案--------------------
探讨
sql server是 2000版本,没有row_number函数,谢谢

------解决方案--------------------
SQL code
select id=identity(int,1,1), id,shopID into #tb from testselect * from #tb
------解决方案--------------------
改变表结构
alter table test add seq int identity(1,1)
------解决方案--------------------
5楼是正解
  相关解决方案