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

Postgres truy vấn SQL lồng nhau để đếm trường

Giả sử tính toàn vẹn của tham chiếu và Postgres 9.4:

SELECT *, total - wins - ties AS losses
FROM (
   SELECT count(*) AS total
        , count(*) FILTER (WHERE m.winner = um.team) AS wins
        , count(*) FILTER (WHERE m.winner = 3) AS ties
   FROM   users_matches um
   JOIN   matches m ON m.id = um.match_id
   WHERE  um.user_id = 123;  -- for one given user
) sub;

Giới thiệu về FILTER tổng hợp mệnh đề (được giới thiệu với Postgres 9.4):




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mẹo để giám sát PostgreSQL cho Moodle

  2. Chuyển đổi quyền truy cập sang PostgreSQL?

  3. Tham gia bên trong &tham gia bên ngoài; thứ tự của các bảng trong từ có quan trọng không?

  4. Tập lệnh shell để thực thi các lệnh pgsql trong tệp

  5. Nối nhiều hàng kết quả của một cột thành một, nhóm theo cột khác