sql >> Databáze >  >> RDS >> Sqlserver

SQL Server 2005/2008 Group By příkaz s parametry bez použití dynamického SQL?

Můžete seskupit konstantu, což může být užitečné

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

Edit:Pro nesoulad datových typů a více hodnot a to vám umožní seskupit v obou sloupcích...

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. Jak zacházet s dělením nulou v SQL

  2. Jak převést primární klíč z celého čísla na sériový?

  3. jak získat názvy oddílů v oracle, když zadávám datum

  4. Spring Boot se nemůže připojit k MySQL a exitům v Docker/Docker compose