这种sql语句应该怎么去判断?

q1072575032 2017-12-28 03:40:21
数据: ID 金额 天数 日期
1 12.00 0 2017-12-18
2 12.00 0 2017-12-16
3 12.00 0 2017-12-13
4 0.00 0 2017-12-14
5 0.00 0 2017-12-18
6 0.00 0 2017-12-11
7 48.00 4 2017-12-18
8 10.00 2 2017-12-18
显示结果:
ID 金额 天数 日期
1 12.00 0 2017-12-18
2 0.00 0 2017-12-18


就是 金额>0 天数=0 和 金额=0 天数=0 的这两种能通过 但是日期要是最大值的日期。。
...全文
596 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_16435051 2017-12-29
  • 打赏
  • 举报
回复
其实你已经把条件写的很清楚了 SELECT * FROM dbo.表名 WHERE ((金额列>0 AND 天数列=0) OR (天数列=0 AND 金额列=0)) AND 日期列 IN (SELECT MAX(日期列) FROM 表名)
shoppo0505 2017-12-28
  • 打赏
  • 举报
回复
with data(ID, je, ts, rq) as ( 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' ) , tempdata as ( select rq , case when (select count(*) from data t where t.rq = data.rq and (je > 0 and ts = 0)) > 0 then 1 else 0 end as condition1 , case when (select count(*) from data t where t.rq = data.rq and (je = 0 and ts = 0)) > 0 then 1 else 0 end as condition2 from data group by rq ) select max(rq) from tempdata where condition1 = 1 and condition2 = 1
吉普赛的歌 2017-12-28
  • 打赏
  • 举报
回复
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
*/

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧