Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Mengapa saya tidak dapat melakukan fungsi agregat pada ekspresi yang berisi agregat tetapi saya dapat melakukannya dengan membuat pernyataan pilih baru di sekitarnya?

SUM() dalam contoh Anda adalah no-op - SUM() dari COUNT() berarti sama dengan COUNT(). Jadi, tak satu pun dari kueri contoh Anda yang tampaknya berguna.

Bagi saya, agregat bersarang hanya akan masuk akal jika Anda ingin menerapkan dua agregasi yang berbeda - artinya GROUP BY pada set kolom yang berbeda. Untuk menentukan dua agregasi yang berbeda, Anda perlu menggunakan fitur GROUPING SETS atau fitur SUM() OVER. Mungkin jika Anda menjelaskan apa yang ingin Anda capai, seseorang dapat menunjukkan caranya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sql server 2008 management studio tidak memeriksa sintaks kueri saya

  2. Di kolom apa indeks berkerumun harus diletakkan?

  3. Pemicu untuk mencegah Penyisipan untuk data duplikat dari dua kolom

  4. Cara terbaik untuk menangkap pelanggaran batasan unik sql di c # selama penyisipan

  5. mengisolasi sub-string dalam string sebelum simbol di SQL Server 2008