如何将以下结果变为黄色?
我想找到上一年的最高分(不包括当前日期)和Name1和Parent1的分区
我已经尝试了以下没有给出所需结果的内容,它只返回正确分区的max,但是在所有日期之间.
select [VDate],[Name1],[Parent1],[score],max(case when [VDate] > dateadd(year,-1,[VDate]) then [score] else null end) over (partition by [Name1],[Parent1]) AS MaxscoreInPrevIoUsLast12Months from [dbo].[Control]
表数据:
CREATE TABLE Control ([VDate] datetime,[Name1] varchar(10),[Parent1] varchar(10),[score] int); INSERT INTO Control ([VDate],[score]) VALUES ('2018-08-01 00:00:00','Name1','Parent1',80),('2018-07-01 00:00:00',85),('2018-06-01 00:00:00',90),('2017-09-01 00:00:00',100),('2017-08-01 00:00:00',95),('2017-07-01 00:00:00',70),('2018-08-01 00:00:00','Name2','Parent2',('2017-10-01 00:00:00',60),'Name3','Parent3',96),99),105) ;
这适用于sql Server 2016
解决方法
原文地址:https://www.jb51.cc/mssql/74965.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。