组时间范围与特定的范围(group date range with specific range)

2019-10-20 08:40发布

我知道有很多日期范围分组。 我看着在互联网上。 但是,一个人的我看到的是硬连接范围。 说,

CASE
   WHEN [Date] BETWEEN '2014-1-1' AND '2014-3-30' THEN 1
   WHEN [Date] BETWEEN '2014-4-1' AND '2014-6-30' THEN 2
   -- And so on
END

这不仅涵盖了年2014 ,对不对? 但是,如果我需要什么,也包括在接下来的4年左右。 我真的需要manually把它放到查询? 或者是有没有办法为它涵盖了接下来几年?

具体而言,我通过一系列需要组的记录。 AugJan (第1组)和FebJuly (第2组)

任何帮助将不胜感激。 谢谢!

Answer 1:

使用MONTH()

CASE
  WHEN month([Date]) BETWEEN 2 AND 7 THEN 2
  ELSE 1
END


Answer 2:

group by 
         case when Month(DateCol) IN (8, 9, 10, 11, 12, 1) then 1 
              else 2 
         end

编号: 月()



文章来源: group date range with specific range