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

Apakah mungkin menggunakan fungsi Agregat dalam pernyataan Select tanpa menggunakan klausa Group By?

Semua kolom dalam klausa SELECT yang tidak memiliki agregat harus ada di GROUP BY

Bagus:

SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3

Juga bagus:

SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3, col5, col6

Tidak ada kolom lain =tidak diperlukan GROUP BY

SELECT MAX(col4)
...

Tidak akan berfungsi:

SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2

Tidak ada gunanya:

SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3, MAX(col4)

Memiliki agregat (MAX dll) dengan kolom lain tanpa GROUP BY tidak masuk akal karena kueri menjadi ambigu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Parameter tidak berfungsi sebaik pengkodean nilai yang sulit

  2. Haruskah Anda membuat beberapa panggilan penyisipan atau meneruskan XML?

  3. Parameter Output Server PHP Sql

  4. Bagaimana saya bisa menghapus spasi tambahan dari kueri SQL Server 2008 saat mengekspor ke csv?

  5. Batasan hanya untuk satu catatan yang ditandai sebagai default