sql >> Database >  >> RDS >> Sqlserver

Waarom kan ik geen aggregatiefunctie uitvoeren op een expressie die een aggregatie bevat, maar wel door er een nieuwe select-instructie omheen te maken?

SUM() in uw voorbeeld is een no-op - SUM() van een COUNT() betekent hetzelfde als alleen COUNT(). Dus geen van uw voorbeeldvragen lijkt iets nuttigs te doen.

Het lijkt mij dat het nesten van aggregaten alleen zin heeft als u twee verschillende aggregaties wilt toepassen - wat betekent GROUP BY op verschillende sets kolommen. Om twee verschillende aggregaties op te geven, moet u de GROUPING SETS-functie of SUM() OVER-functie gebruiken. Als je uitlegt wat je wilt bereiken, kan iemand je misschien laten zien hoe.



  1. MySql gebruiken met Entity Framework 4 en de Code-First Development CTP

  2. TNS-12505:TNS:luisteraar kent momenteel geen SID die is opgegeven in de verbindingsdescriptor

  3. Vastgelopen zoekopdracht beëindigen (inactief in transactie)

  4. De verbindingspool voor database '/data/data/msv_database.db' heeft geen verbinding kunnen maken. Verbindingen:0 actief, 1 inactief, 0 beschikbaar