按日期过滤重复
有下列表
id 车架号 充值金额 充值时间 销售员 次数
1 LVGB123 1980 2012-08-06 17:42:57.000 张三
2 LVGB545 2980 2012-09-15 11:42:57.000 李四
4 LVGB623 1980 2012-09-26 13:42:57.000 张三
5 LVGB532 -2980 2012-09-27 14:42:57.000 王五
8 LVGB234 2980 2012-09-28 15:42:57.000 王五
10 LVGB623 1980 2012-09-30 13:42:57.000 王五
11 LVGB623 2980 2012-09-30 18:43:57.000 张三
我想查询出2012年9月份的数据并按充值日期来过滤,其中第10 第11项是同一车架号在同一天充值的,所以只想保留第10项把11项去掉。得出下列结果并插入临时表:
id 车架号 充值金额 充值时间 销售员 次数
2 LVGB545 2980 2012-09-15 11:42:57.000 李四
4 LVGB623 1980 2012-09-26 13:42:57.000 张三
5 LVGB532 -2980 2012-09-27 14:42:57.000 王五
8 LVGB234 2980 2012-09-28 15:42:57.000 王五
10 LVGB623 1980 2012-09-30 13:42:57.000 王五
------解决方案--------------------SELECT B.*
FROM
(
SELECT DISTINCT 车架号
FROM dbo.tablename
WHERE 充值时间 >= '2012-09-01'
AND 充值时间 < '2012-10-01'
) A
CROSS APPLY
(
SELECT TOP (1) *
FROM dbo.tablename
WHERE 车架号 = A.车架号
ORDER BY id
) B
ORDER BY id