簡體   English   中英

while循環在t-sql中有開始和結束年份

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM