【问题标题】:SQL Query to get min and max date per year date rangesSQL 查询以获取每年日期范围的最小和最大日期
【发布时间】:2015-12-03 20:17:21
【问题描述】:

目前我有一个查询正在加载给定租户的每年销售额。使用下面的代码,我能够产生这个结果(见图片表)

SELECT DATENAME(month,date) [month]
    ,ISNULL(SUM(CASE WHEN YEAR (DATE) = @Year1 THEN gsc END), 0) AS 'Year1'
    ,ISNULL(SUM(CASE WHEN YEAR (DATE) = @Year2 THEN gsc END), 0) AS 'Year2'
    ,ISNULL(SUM(CASE WHEN YEAR (DATE) = @Year3 THEN gsc END), 0) AS 'Year3'
    ,ISNULL(SUM(CASE WHEN YEAR (DATE) = @Year4 THEN gsc END), 0) AS 'Year4'
    ,ISNULL(SUM(CASE WHEN YEAR (DATE) = @Year5 THEN gsc END), 0) AS 'Year5'
INTO #LRSalesAnalysis
FROM dailymod 
WHERE tenantcode = @RP 
GROUP BY DATENAME(month,date)
ORDER BY DATEPART(MM,DATENAME(month,date)+' 01 2011')

部分代码,注意参数@Year1-5 的值类似于 (2011,2012 等)

结果

我现在想要的是获得每年的最短日期和最长日期。结果是这样的

源数据库实际上是每个日期的销售额集合。所以我想获取在给定日期范围(年)中找到的最大和最小日期

任何帮助将不胜感激

【问题讨论】:

    标签: sql sql-server sql-server-2008


    【解决方案1】:

    这是使用您已经使用的相同技术完成的。只有两个查询,一个针对min,一个针对max,您可以将它们与UNION ALL 粘合在一起。

    SELECT 
      'Min Date' AS what
      ,MIN(CASE WHEN YEAR(DATE) = @Year1 THEN DATE END) AS 'Year1'
      ,MIN(CASE WHEN YEAR(DATE) = @Year2 THEN DATE END) AS 'Year2'
      ,MIN(CASE WHEN YEAR(DATE) = @Year3 THEN DATE END) AS 'Year3'
      ,MIN(CASE WHEN YEAR(DATE) = @Year4 THEN DATE END) AS 'Year4'
      ,MIN(CASE WHEN YEAR(DATE) = @Year5 THEN DATE END) AS 'Year5'
    FROM dailymod 
    WHERE tenantcode = @RP 
    UNION ALL
    SELECT
      'Max Date' AS what
      ,MAX(CASE WHEN YEAR(DATE) = @Year1 THEN DATE END) AS 'Year1'
      ,MAX(CASE WHEN YEAR(DATE) = @Year2 THEN DATE END) AS 'Year2'
      ,MAX(CASE WHEN YEAR(DATE) = @Year3 THEN DATE END) AS 'Year3'
      ,MAX(CASE WHEN YEAR(DATE) = @Year4 THEN DATE END) AS 'Year4'
      ,MAX(CASE WHEN YEAR(DATE) = @Year5 THEN DATE END) AS 'Year5'
    FROM dailymod 
    WHERE tenantcode = @RP;
    

    【讨论】:

      猜你喜欢
      • 2016-07-23
      • 2016-07-09
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-13
      • 1970-01-01
      相关资源
      最近更新 更多