首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于自动编号的SQL(SQL2000),该如何处理

2013-11-13 
关于自动编号的SQL(SQL2000)本帖最后由 qdits 于 2013-11-12 14:38:08 编辑有这样一组数据id  the_date   

关于自动编号的SQL(SQL2000)
本帖最后由 qdits 于 2013-11-12 14:38:08 编辑 有这样一组数据
id  the_date   the_value
-----------------------------------------
1   2013-11-1    A
2   2013-11-1    A
3   2013-11-2    A
4   2013-11-2    A
5   2013-11-2    A
6   2013-11-3    A
7   2013-11-3    A
8   2013-11-4    A
9   2013-11-4    A
10   2013-11-4    A


我想在id后面,根据日期增加一行row_id,如
ps.我不需要在表中增加一个字段,我只需要在view时能查看得到
id  row_id  the_date   the_value
---------------------------------------------------------
1   1    2013-11-1    A
2   2    2013-11-1    A
3   1    2013-11-2    A
4   2    2013-11-2    A
5   3    2013-11-2    A
6   4    2013-11-2    A
7   1    2013-11-3    A
8   1    2013-11-4    A
9   2    2013-11-4    A
10   3    2013-11-4    A

在sql2000环境下该如何写?
[解决办法]

----------------------------------------------------------------
-- Author  :TravyLee(走自己的路,让狗去叫吧!)
-- Date    :2013-11-12 14:38:00
-- Version:
--      Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) 
--Jul  9 2008 14:43:34 
--Copyright (c) 1988-2008 Microsoft Corporation
--Developer Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)
--
----------------------------------------------------------------
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
go 
create table [tb]([id] int,[the_date] datetime,[the_value] varchar(1))
insert [tb]
select 1,'2013-11-1','A' union all
select 2,'2013-11-1','A' union all
select 3,'2013-11-2','A' union all
select 4,'2013-11-2','A' union all
select 5,'2013-11-2','A' union all
select 6,'2013-11-3','A' union all
select 7,'2013-11-3','A' union all
select 8,'2013-11-4','A' union all
select 9,'2013-11-4','A' union all
select 10,'2013-11-4','A'
go

select
px=(select count(1) from tb b where a.[the_date]=b.[the_date] and 
 a.[the_value]=b.[the_value] and a.id>=b.id)
,* from tb a
/*
pxidthe_datethe_value
---------------------------------------------
112013-11-01 00:00:00.000A
222013-11-01 00:00:00.000A
132013-11-02 00:00:00.000A
242013-11-02 00:00:00.000A
352013-11-02 00:00:00.000A
162013-11-03 00:00:00.000A
272013-11-03 00:00:00.000A
182013-11-04 00:00:00.000A
292013-11-04 00:00:00.000A
3102013-11-04 00:00:00.000A
*/

热点排行