22,209
社区成员
发帖
与我相关
我的任务
分享
select colomn1 ,colomn2 ,
colomn3=row_number() over(partition by colomn1 order by getdate())
from (
select colomn1='111111',colomn2='aaa' union all
select '111111', 'bbb' union all
select '222222', 'ddd' union all
select '222222', 'eee' union all
select '222222', 'fff' union all
select '333333', 'ccc'
) t
colomn1 colomn2 colomn3
------- ------- --------------------
111111 bbb 1
111111 aaa 2
222222 eee 1
222222 fff 2
222222 ddd 3
333333 ccc 1
(6 行受影响)
----------------------------------------------------------------
-- Author :fredrickhu(我是小F,向高手学习)
-- Date :2009-12-16 13:40:42
-- Version:
-- Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86)
-- Nov 24 2008 13:01:59
-- Copyright (c) 1988-2005 Microsoft Corporation
-- Developer Edition on Windows NT 5.2 (Build 3790: Service Pack 1)
--
----------------------------------------------------------------
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([colomn1] int,[colomn2] varchar(3))
insert [tb]
select 111111,'aaa' union all
select 111111,'bbb' union all
select 222222,'ddd' union all
select 222222,'eee' union all
select 222222,'fff' union all
select 333333,'ccc'
--------------开始查询--------------------------
select
colomn1 ,colomn2 ,
colomn3=row_number() over(partition by colomn1 order by getdate())
from
tb
----------------结果----------------------------
/* colomn1 colomn2 colomn3
----------- ------- --------------------
111111 aaa 1
111111 bbb 2
222222 ddd 1
222222 eee 2
222222 fff 3
333333 ccc 1
(6 行受影响)
*/
SELECT *,
(SELECT COUNT(*) FROM TB WHERE colomn1 =T.colomn1 AND colomn2<=T.colomn2)AS colomn3
FROM TB T
Create table #tb(colomn1 int,colomn2 varchar(5))
insert into #tb
select 111111,'aaa'
union all select 111111, 'bbb'
union all select 222222, 'ddd'
union all select 222222, 'eee'
union all select 222222, 'fff'
union all select 333333 , 'ccc'
select colomn1,colomn2,colomn3 = row_number() over(partition by colomn1 order by colomn2 ) from #tb
/*
colomn1 colomn2 colomn3
111111 aaa 1
111111 bbb 2
222222 ddd 1
222222 eee 2
222222 fff 3
333333 ccc 1
*/
select colomn1 ,colomn2 ,
colomn3=row_number() over(partition by column1 order by getdate())
from 你的结果集
---------------------------------------------
--> Author : js_szy
--> Target : ★★★
--> Date : 2009-12-16 13:37:28
--> Version: SQL Server 2005
---------------------------------------------
--> 测试数据: @tb
declare @tb table (colomn1 int,colomn2 varchar(3))
insert into @tb
select 111111,'aaa' union all
select 111111,'bbb' union all
select 222222,'ddd' union all
select 222222,'eee' union all
select 222222,'fff' union all
select 333333,'ccc'
select *,column3=row_number()over(partition by colomn1 order by getdate()) from @tb
colomn1 colomn2 column3
----------- ------- --------------------
111111 aaa 1
111111 bbb 2
222222 ddd 1
222222 eee 2
222222 fff 3
333333 ccc 1
(6 行受影响)
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
create table [tb]([colomn1] int,[colomn2] varchar(3))
insert [tb]
select 111111,'aaa' union all
select 111111,'bbb' union all
select 222222,'ddd' union all
select 222222,'eee' union all
select 222222,'fff' union all
select 333333,'ccc'
select *,
(select count(1) from tb where [colomn1]=t.[colomn1] and [colomn2]<=t.[colomn2]) as colomn3
from [tb] t
------------------------
111111 aaa 1
111111 bbb 2
222222 ddd 1
222222 eee 2
222222 fff 3
333333 ccc 1