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

Đếm xem có bao nhiêu tồn tại trong mối quan hệ một-nhiều

Sử dụng một bảng dẫn xuất như sau:

SELECT ...
       TotalTasks --Add the count column to your select
FROM ticket t
JOIN (SELECT ticked_id, COUNT(1) as TotalTasks
      FROM tasks
      GROUP BY ticked_id) ta ON t.id = ta.ticked_id
...rest of query

Đây là fiddle của bạn với toàn bộ truy vấn

Khái niệm ở đây là thực hiện tổng hợp của bạn trên nhiều trước khi tham gia trở lại một bàn. Điều này đảm bảo kết hợp 1-1 và ngăn chặn tốt nhất sự trùng lặp không mong muố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. Lưu trữ các GUID / UUID của MySQL

  2. Nhận tổng cột và sử dụng để tính toán phần trăm của tổng số (mySQL)

  3. MySQL hợp nhất các bản ghi dữ liệu trùng lặp thông qua UPDATE / DELETE

  4. Xoay một bảng và hiển thị n chuỗi thời gian có thứ tự

  5. MySQL Tham gia nhiều hàng dưới dạng cột