sql >> Database teknologi >  >> RDS >> Sqlserver

Hvorfor kan jeg ikke udføre en aggregatfunktion på et udtryk, der indeholder et aggregat, men jeg kan gøre det ved at oprette en ny select-sætning omkring det?

SUM() i dit eksempel er en no-op - SUM() af en COUNT() betyder det samme som kun COUNT(). Så ingen af ​​dine eksempelforespørgsler ser ud til at gøre noget brugbart.

Det forekommer mig, at indlejrede aggregater kun ville give mening, hvis du ville anvende to forskellige aggregationer - hvilket betyder GROUP BY på forskellige sæt af kolonner. For at specificere to forskellige aggregeringer skal du bruge funktionen GRUPPERINGSSÆT eller SUM() OVER-funktionen. Hvis du forklarer, hvad du vil opnå, kan nogen måske vise dig hvordan.



  1. Sådan tilføjes sekvensnummer for hvert element i en gruppe ved hjælp af en SQL-forespørgsel uden midlertidige tabeller

  2. Hvordan forespørger man en json-kolonne for tomme objekter?

  3. Opretter forbindelse til Oracle Database via C#?

  4. Hvad betyder %Type i Oracle sql?