sql >> データベース >  >> RDS >> Sqlserver

週末のデータを平日とは異なる方法でロールアップする

    これでうまくいきます:

    SELECT CAST(Submitted AS DATE) AS [Submission Date]
        , DATEPART(weekday, CAST(Submitted AS DATE)) AS [DayOfWeek]
        , DATENAME(dw, CAST(Submitted AS DATE)) AS [DayOfWeekForm]
        , count(*) AS [Submission Count]
        , CASE 
            WHEN (DATEPART(weekday, CAST(Submitted AS DATE))) IN (
                    '1'
                    ,'7'
                    )
                THEN ('Weekend')
            ELSE DATENAME(dw, CAST(Submitted AS DATE))
            END AS [End Column]
        , xyz_cnt._cnt AS [End Sub]
    FROM dbo.xyz LEFT JOIN
     (SELECT CASE DATEPART(weekday, CAST(Submitted AS DATE))  
            WHEN '1' THEN DATEADD(dd, -2, CAST(Submitted AS DATE))
            WHEN '7' THEN DATEADD(dd, -1, CAST(Submitted AS DATE))
            ELSE CAST(Submitted AS DATE) END AS [SubmitDate]
        , count(*) AS _cnt 
      FROM dbo.xyz
      GROUP BY
      CASE DATEPART(weekday, CAST(Submitted AS DATE))  
            WHEN '1' THEN DATEADD(dd, -2, CAST(Submitted AS DATE))
            WHEN '7' THEN DATEADD(dd, -1, CAST(Submitted AS DATE))
            ELSE CAST(Submitted AS DATE) END ) AS xyz_cnt 
      ON CAST(xyz.Submitted AS DATE) = xyz_cnt.SubmitDate
    WHERE CAST(Submitted AS DATE) BETWEEN '2012-09-01'
            AND '2012-09-10'
    GROUP BY CAST(Submitted AS DATE), xyz_cnt._cnt
    ORDER BY CAST(Submitted AS DATE)
    


    1. MySQLはIPアドレスが範囲内にあるかどうかをチェックしますか?

    2. django ORMでpostgresqlウィンドウ関数を使用するクリーンな方法は?

    3. SQLDeveloperの12cアダプティブプラン

    4. mysql-動的列エイリアス