22,209
社区成员
发帖
与我相关
我的任务
分享
DECLARE @t TABLE (ID INT,金额 DECIMAL(10,2),天数 int,日期 datetime)
INSERT INTO @t
SELECT 1,12.00,0,'2017-12-18'
UNION ALL SELECT 2,12.00,0,'2017-12-16'
UNION ALL SELECT 3,12.00,0,'2017-12-13'
UNION ALL SELECT 4,0.00,0,'2017-12-14'
UNION ALL SELECT 5,0.00,0,'2017-12-18'
UNION ALL SELECT 6,0.00,0,'2017-12-11'
UNION ALL SELECT 7,48.00,4,'2017-12-18'
UNION ALL SELECT 8,10.00,2,'2017-12-18'
SELECT ID,金额,天数,日期
FROM (
SELECT
ROW_NUMBER() OVER ( PARTITION BY 金额,天数 order by 日期 desc,id asc) as rid
,*
FROM @t AS t
WHERE t.金额>=0 AND t.天数=0
) AS t WHERE t.rid=1
ORDER BY id
/*
ID 金额 天数 日期
----------- --------------------------------------- ----------- -----------------------
1 12.00 0 2017-12-18 00:00:00.000
5 0.00 0 2017-12-18 00:00:00.000
*/