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

PostgreSQL - Mệnh đề GROUP BY hoặc được sử dụng trong một hàm tổng hợp

Truy vấn như thế này (truy xuất tất cả hoặc hầu hết các hàng) nhanh hơn nếu bạn GROUP trước khi bạn JOIN . Như thế này:

SELECT id, name, created_at, updated_at, u.ct
FROM   cars c
LEFT   JOIN (
    SELECT car_id, count(*) AS ct
    FROM   users
    GROUP  BY 1
    ) u ON u.car_id  = c.id
ORDER  BY u.ct DESC;

Bằng cách này, bạn cần ít thao tác tham gia hơn. Và các hàng của bảng cars không cần phải được nhân trước bằng cách tham gia với nhiều người dùng và sau đó được nhóm lại để trở thành duy nhất.
Chỉ có bảng bên phải được nhóm lại, điều này cũng làm cho logic đơn giản hơn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhóm theo khoảng dữ liệu

  2. Sửa chữa Postgresql sau khi nâng cấp lên OSX 10.7 Lion

  3. không thể tạo tiện ích mở rộng mà không có vai trò siêu người dùng

  4. Cấp đặc quyền cho một cơ sở dữ liệu cụ thể trong PostgreSQL

  5. Cách AT TIME ZONE hoạt động trong PostgreSQL