Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无循环记录集的SQL子查询_Sql_Loops_Subquery - Fatal编程技术网

无循环记录集的SQL子查询

无循环记录集的SQL子查询,sql,loops,subquery,Sql,Loops,Subquery,这是一个简单的查询: SELECT fDATE, fRAIN FROM tRAIN WHERE (fRAIN >=5) 检索到的查询可能类似于: 现在,我想得到对应于较长雨季的子集,在本例中,日期为10月9日至13日。有没有一种方法可以在不循环记录集的情况下执行此操作 我感谢你的帮助。问候我已经完成了任务,答案发布在 输出如下所示: 关于季节的大小取决于连续天数的计数?预期结果是什么?您的数据库是什么?检查解决方案数据库包含自2004

这是一个简单的查询:

SELECT        fDATE, fRAIN
FROM            tRAIN
WHERE        (fRAIN >=5)
检索到的查询可能类似于:

现在,我想得到对应于较长雨季的子集,在本例中,日期为10月9日至13日。有没有一种方法可以在不循环记录集的情况下执行此操作


我感谢你的帮助。问候

我已经完成了任务,答案发布在

输出如下所示:


关于

季节的大小取决于连续天数的计数?预期结果是什么?您的数据库是什么?检查解决方案数据库包含自2004年至今的每日测量值。记录了几个测量站。查询比我在示例中展示的更复杂,但目的是获得更长的时间。我从一开始就不知道包含更长雨季的日期范围。我知道如何循环记录。我只是想知道是否有其他方法可以不用循环。是的,使用rain>=值计算连续天数,并检索更长的系列赛是目标。谢谢何塞·费尔南多·吉拉多·希门内斯8分钟前
WITH Q4 AS (
SELECT Q3.fDate, Q3.RW
FROM
(SELECT 
RW=ROW_NUMBER() OVER( PARTITION BY GRP  ORDER BY fDate) ,fDate
FROM
(
SELECT 
fDate, DATEDIFF(Day, '1900-01-01' , fDate)- ROW_NUMBER() OVER( ORDER BY 
fDate ) AS GRP
FROM (SELECT CONVERT(DATE,CONCAT(fYEAR , '/' , fMONTH , '/' ,fDAY),111) AS fDate, 
fRAIN 
FROM tRain
WHERE (fRain >= _value AND fStation = '_string' AND fYear = _value)
) Q1 
) Q2
) Q3
)
SELECT (DATEADD(DAY,-Q4.RW+1,Q4.fDate)) AS Start_Date, Q4.fDate AS 
Final_Date, Q4.RW as Season_Length
FROM Q4
WHERE Q4.RW= (SELECT TOP 1 MAX(Q4.RW) FROM Q4)