正如你在下面看到的,有许多城市和日子(雨天时期)。我想找到max的日子,即使天是一样的。例如,如果最大天数为3,并且有2天3天,那么我想打印出两行。
可能的产出是:
Auckland 2013-11-30 2013-11-30 5
Christchurch 2013-11-10 2013-11-50 4如果只有5个城市,则根据天数的相同值,可能有5行到10行。
我想使用SELECT、IF或CASE、MAX或Count函数,因为这部分是完整的、复杂的代码之一。
谢谢。

SQL版本:
Microsoft 2016 (RTM) (KB4019088) - 13.0.1742.0 (X64) 2017年7月5日23:41:17版权(c)微软公司开发版(64位)在Windows 2012 R2标准6.3 (Build 9600:) (Hypervisor)
以下是示例数据:
create TABLE practice10 (
station VARCHAR(50),
start_date DATE,
end_date DATE,
days INT,
)
INSERT INTO practice10 values ('Auckland','2013-10-5','2013-10-10', 5),
('Auckland','2013-10-15','2013-10-17', 2),
('Auckland','2013-10-20','2013-10-23', 3),
('Manchester','2015-9-1','2013-9-4', 3),
('Manchester','2013-10-3','2013-10-3', 0),
('Manchester','2013-10-20','2013-10-29', 9);发布于 2018-04-24 10:20:35
使用dense_rank()订购天数。然后使用top 1获取具有最高值的天数
select
top 1 with ties *
from
myTable
order by dense_rank() over (partition by station order by days desc)https://stackoverflow.com/questions/49998659
复制相似问题