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

SQL Server 2005/2008 動的 SQL を使用せずにパラメーターを指定した Group By ステートメントを使用しますか?

    役に立つかもしれない定数でグループ化できます

    SELECT
        SUM(Column0),
        CASE @MyVar WHEN 'Column1' THEN Column1 ELSE '' END AS MyGrouping
    FROM
        Table1
    GROUP BY
        CASE @MyVar WHEN 'Column1' THEN Column1 ELSE '' END
      

    編集:データ型の不一致と複数の値の場合、これにより両方の列でグループ化できます...

    SELECT
        SUM(Column0),
        CASE @MyVar WHEN 'Column1' THEN Column1 ELSE NULL END AS Column1,
        CASE @MyVar WHEN 'Column2' THEN Column2 ELSE NULL END AS Column2
    FROM
        Table1
    GROUP BY
        CASE @MyVar WHEN 'Column1' THEN Column1 ELSE NULL END,
        CASE @MyVar WHEN 'Column2' THEN Column2 ELSE NULL END
      

    1. PostgreSQL-数値フィールドの秒をHH:MM:SSに変換する方法

    2. Hyper-V内で動的メモリを使用する場合のリスク

    3. Codeigniterをグループ化し、多次元配列を作成します

    4. 見つからない列については、nullまたは0を使用して残りの行を表示します