读书人

sql分组的有关问题

发布时间: 2013-12-28 22:19:34 作者: rapoo

sql分组的问题
比如我有一张表,字段A,字段B,字段C,字段D,字段E
现在我想通过字段D和字段E分组,把所有符合记录都选出
原来表记录
字段A,字段B,字段C,字段D,字段E
1 1 1 0 0
2 1 1 2 2
3 1 1 2 3
4 1 1 0 0
5 1 1 2 2
6 1 1 4 4

现在记录
字段A,字段B,字段C,字段D,字段E
1 1 1 0 0
2 1 1 2 2
3 1 1 2 3
6 1 1 4 4

我的SQL语句这样写不行:
select * from t group by D,E
[解决办法]

if object_id('[TB]') is not null drop table [TB]
go
create table [TB] (字段A int,字段B int,字段C int,字段D int,字段E int)
insert into [TB]
select 1,1,1,0,0 union all
select 2,1,1,2,2 union all
select 3,1,1,2,3 union all
select 4,1,1,0,0 union all
select 5,1,1,2,2 union all
select 6,1,1,4,4

select * from [TB]

;WITH TT
AS(
SELECT ROW_NUMBER() OVER(PARTITION BY 字段D,字段E ORDER BY 字段A) AS NO,*
FROM dbo.TB)

SELECT 字段A ,字段B ,字段C,字段D ,字段E FROM TT WHERE no =1

/*
字段A字段B字段C字段D字段E
11100
21122
31123
61144*/

读书人网 >SQL Server

热点推荐