Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Có thể sử dụng hàm Tổng hợp trong trạng thái Chọn mà không sử dụng mệnh đề Nhóm theo không?

Tất cả các cột trong mệnh đề SELECT không có tổng hợp cần phải nằm trong GROUP BY

Tốt:

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

Cũng tốt:

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

Không có cột nào khác =không cần GROUP BY

SELECT MAX(col4)
...

Sẽ không hoạt động:

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

Vô nghĩa:

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

Có tổng hợp (MAX, v.v.) với các cột khác mà không có GROUP BY không có ý nghĩa gì vì truy vấn trở nên mơ hồ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn trợ giúp khi sử dụng bảng kiểm tra

  2. Lưu trữ hình ảnh trong cơ sở dữ liệu và truy xuất nó

  3. Cách ORIGINAL_DB_NAME () hoạt động trong SQL Server

  4. Khắc phục “tên hồ sơ không hợp lệ” khi gửi thư từ máy chủ SQL

  5. Vấn đề chèn hàng loạt chèn hàng loạt