表tab1中数据如下: date type item value
2006-03-13 10:00:00 type1 总数 111397
2006-03-13 11:00:00 type1 总数 88432
2006-03-13 12:00:00 type1 总数 36110
2006-03-13 10:00:00 type1 成功总数 51203
2006-03-13 11:00:00 type1 成功总数 51584
2006-03-13 12:00:00 type1 成功总数 50496将成功总数按照对应的date及type累加到总数上
也就是说:变成:
date type item value
2006-03-13 10:00:00 type1 总数 111397+51203
2006-03-13 11:00:00 type1 总数 88432 +51584
2006-03-13 12:00:00 type1 总数 36110 +50496
2006-03-13 10:00:00 type1 成功总数 51203
2006-03-13 11:00:00 type1 成功总数 51584
2006-03-13 12:00:00 type1 成功总数 50496用SQL来实现该怎么写?谢谢
2006-03-13 10:00:00 type1 总数 111397
2006-03-13 11:00:00 type1 总数 88432
2006-03-13 12:00:00 type1 总数 36110
2006-03-13 10:00:00 type1 成功总数 51203
2006-03-13 11:00:00 type1 成功总数 51584
2006-03-13 12:00:00 type1 成功总数 50496将成功总数按照对应的date及type累加到总数上
也就是说:变成:
date type item value
2006-03-13 10:00:00 type1 总数 111397+51203
2006-03-13 11:00:00 type1 总数 88432 +51584
2006-03-13 12:00:00 type1 总数 36110 +50496
2006-03-13 10:00:00 type1 成功总数 51203
2006-03-13 11:00:00 type1 成功总数 51584
2006-03-13 12:00:00 type1 成功总数 50496用SQL来实现该怎么写?谢谢
用DATE可以吗?
select date,type,'总数'as type,sum(value)as value from t group by date,type
union all
select * from t where type='成功总数'
union all
select * from t where type='成功总数'
from tab1
CREATE TABLE C1([DATE] DATETIME,TYPE NVARCHAR(10),ITEM NVARCHAR(20),VALUE BIGINT)INSERT INTO C1 SELECT '2006-03-13 10:00:00','TYPE1','TOTAL',111397
UNION ALL SELECT '2006-03-13 11:00:00','TYPE1','TOTAL',88432
UNION ALL SELECT '2006-03-13 12:00:00','TYPE1','TOTAL',36110
UNION ALL SELECT '2006-03-13 10:00:00','TYPE1','STOTAL',51203
UNION ALL SELECT '2006-03-13 11:00:00','TYPE1','STOTAL',51584
UNION ALL SELECT '2006-03-13 12:00:00','TYPE1','STOTAL',50496SELECT [DATE],TYPE,SUM(VALUE) AS VALUE FROM C1
GROUP BY [DATE],TYPE
UNION
SELECT [DATE],TYPE,VALUE FROM C1 WHERE ITEM='STOTAL'
DROP TABLE C1