日期 姓名 销售额
2009-4-7 张三 111
2009-4-7 李四 112
2009-4-7 王五 113
2007-4-7 张三 1
2007-4-8 李四 2
2007-4-9 王五 3
2008-4-1 张三 11
2008-4-2 李四 12结果应该是:
2009-4-7 张三 111
2009-4-7 李四 112
2009-4-7 王五 113
2009-4-7 张三 111
2009-4-7 李四 112
2009-4-7 王五 113
2007-4-7 张三 1
2007-4-8 李四 2
2007-4-9 王五 3
2008-4-1 张三 11
2008-4-2 李四 12结果应该是:
2009-4-7 张三 111
2009-4-7 李四 112
2009-4-7 王五 113
-->> Author: 让你望见影子的墙(HEROWANG)生成测试数据 Date:2009-04-08 07:29:06
IF OBJECT_ID('tb') IS NOT NULL
DROP TABLE tb
Go
CREATE TABLE tb(日期 SMALLDATETIME,姓名 NVARCHAR(2),销售额 INT)
Go
INSERT INTO tb
SELECT '2009-4-7','张三',111 UNION ALL
SELECT '2009-4-7','李四',112 UNION ALL
SELECT '2009-4-7','王五',113 UNION ALL
SELECT '2007-4-7','张三',1 UNION ALL
SELECT '2007-4-8','李四',2 UNION ALL
SELECT '2007-4-9','王五',3 UNION ALL
SELECT '2008-4-1','张三',11 UNION ALL
SELECT '2008-4-2','李四',12
GOSELECT * FROM TBselect 日期 , 姓名, 销售额=sum(销售额)
from tb t
where not exists(select 1 from tb where 姓名=t.姓名 and 日期>t.日期)
group by 日期 , 姓名日期 姓名 销售额
----------------------- ---- -----------
2009-04-07 00:00:00 李四 112
2009-04-07 00:00:00 王五 113
2009-04-07 00:00:00 张三 111(3 行受影响)
CREATE TABLE tb(rq varchar(50),xm varchar(50),xse int)
Go
INSERT INTO tb
SELECT '2009-4-7','zs',111 UNION ALL
SELECT '2009-4-7','ls',112 UNION ALL
SELECT '2009-4-7','ww',113 UNION ALL
SELECT '2007-4-7','zs',1 UNION ALL
SELECT '2007-4-8','ls',2 UNION ALL
SELECT '2007-4-9','ww',3 UNION ALL
SELECT '2008-4-1','zs',11 UNION ALL
SELECT '2008-4-2','ls',12
GO
select rq , xm, xse from tb t
where not exists(select 1 from tb where xm=t.xm and rq>t.rq)