数据库表中字段及记录如下:SQL 语句查询出以下记录后,想将字段 C 内容相同的记录合并为一条记录并将字段D值相加,请问应如何得到 ?
字段 A B C D
5 2011-6-13 10:24:17 ddddd 1000000000000
6 2011-6-13 13:34:55 ooooooiiiiii 7878
17 2011-6-21 10:46:50 777 7777
18 2011-6-21 13:40:45 XX报账 777
11 2011-6-20 10:50:22 11111 112
13 2011-6-20 9:17:07 XX报账 999
14 2011-6-20 9:18:27 888 8888
15 2011-6-20 9:25:01 888 8888
16 2011-6-20 9:27:36 1 1
字段 A B C D
5 2011-6-13 10:24:17 ddddd 1000000000000
6 2011-6-13 13:34:55 ooooooiiiiii 7878
17 2011-6-21 10:46:50 777 7777
18 2011-6-21 13:40:45 XX报账 777
11 2011-6-20 10:50:22 11111 112
13 2011-6-20 9:17:07 XX报账 999
14 2011-6-20 9:18:27 888 8888
15 2011-6-20 9:25:01 888 8888
16 2011-6-20 9:27:36 1 1
from tablename
group by c
select max(A) A,max(B) B,C,sum(D) D
from tb
group by C
SELECT A,B,C,(SELECT SUM(D) FROM TB WHERE C=T.C) D
FROM TB T
WHERE A=(SELECT MAX(A) FROM TB WHERE C=T.C)
这个只是查,但不知道你要的合并A B 字段如何处理
create table #t(a varchar(50),b varchar(50),c varchar(50),d varchar(50))insert into #t
select '5', '2011-6-13 10:24:17' ,'ddddd', '1000000000000' union all
select '6', '2011-6-13 13:34:55', 'ooooooiiiiii' ,'7878' union all
select '17', '2011-6-21 10:46:50' ,'777', '7777' union all
select '18', '2011-6-21 13:40:45', 'XX报账', '777' union all
select '11', '2011-6-20 10:50:22', '11111', '112' union all
select '13', '2011-6-20 9:17:07', 'XX报账', '999' union all
select '14', '2011-6-20 9:18:27' ,'888','8888' union all
select '15', '2011-6-20 9:25:01', '888', '8888' union all
select '16', '2011-6-20 9:27:36' ,'1', '1'
select max(a),max(b),sum(cast(d as numeric(18,2))),c from #t group by c-------------------------------------------------- -------------------------------------------------- --------------------------------------- --------------------------------------------------
16 2011-6-20 9:27:36 1.00 1
11 2011-6-20 10:50:22 112.00 11111
17 2011-6-21 10:46:50 7777.00 777
15 2011-6-20 9:25:01 17776.00 888
5 2011-6-13 10:24:17 1000000000000.00 ddddd
6 2011-6-13 13:34:55 7878.00 ooooooiiiiii
18 2011-6-21 13:40:45 1776.00 XX报账(7 row(s) affected)不知道你如何处理其他两个字段,取了最大
group by C