sql >> Database >  >> RDS >> Sqlserver

SQL Server 2005/2008 Group By statement met parameters zonder dynamische SQL te gebruiken?

U kunt groeperen op een constante, wat handig kan zijn

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

Bewerken:Voor niet-overeenkomende gegevenstypen en meerdere waarden en dit stelt u in staat om op beide kolommen te groeperen...

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. MySQL:hoe krijg je x aantal resultaten per groepering

  2. EM 12c Drempelwaarden aanpassen

  3. Een normalisatiedatabase ontwerpen om 5 naaste buren te krijgen met behulp van MySQL ruimtelijke index

  4. SQL dynamische spil voor doelen