Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Защо не мога да изпълня агрегатна функция върху израз, съдържащ агрегат, но мога да го направя, като създам нов оператор за избор около него?

SUM() във вашия пример е без операция - SUM() от COUNT() означава същото като просто COUNT(). Така че нито една от вашите примерни заявки изглежда не прави нещо полезно.

Струва ми се, че вложените агрегати биха имали смисъл само ако искате да приложите две различни агрегации - което означава GROUP BY върху различни набори от колони. За да посочите две различни агрегати, ще трябва да използвате функцията GROUPING SETS или SUM() OVER. Може би, ако обясните какво искате да постигнете, някой може да ви покаже как.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да коригирате:„SQLServerAgent в момента не работи…“

  2. Как работи SET ROWCOUNT в SQL Server

  3. Висока наличност на SQL Server:Инсталирайте клъстерен екземпляр за преодоляване на отказ на SQL Server, част 2

  4. Как да актуализирам от SELECT в SQL Server?

  5. Най-бързият начин за премахване на нечислови знаци от VARCHAR в SQL Server