[英]while loop in t-sql with start and end year
我想循環使用這些年,並使用下面的while循環獲取每年每個月的計數。 如何通過限制年數來實現這一目標。
declare @start_year int=1999
declare @loop_year int
declare @end_year int=2015
WHILE (@end_year <2015)
BEGIN
Select count(*) as rows,month(create_datetime) as month, year(create_datetime) as year
FROM [table_name]
WHERE year(create_datetime) =@loop_year
GROUP BY month(create_datetime),year(create_datetime)
set @loop_year=@start_year+1
END
我認為你的WHILE
循環搞砸了。 你宣布@end_year = 2015
然后說WHILE (@end_year < 2015)
。 我想你的意思是WHILE (@loop_year < @end_year)
。
話雖如此,沒有理由為這種特殊情況使用循環。 這應該完成相同的結果:
Select count(*) as rows,
month(create_datetime) as month,
year(create_datetime) as year
FROM [table_name]
WHERE year(create_datetime) BETWEEN 1999 AND 2014
GROUP BY month(create_datetime), year(create_datetime)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.