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

Chọn đếm các hàng phụ thuộc từ nhiều bảng có liên hợp

Bạn đã phức tạp hóa truy vấn của mình, chỉ cần sử dụng nhóm theo để nhận số lượng theo nhóm. Cập nhật:vì bạn có các khóa giống nhau trong cả bảng 4a và 4b và bạn muốn tóm tắt chúng trong một đầu ra, bạn cần tổng hoặc đếm bao quát tùy thuộc vào truy vấn con bạn sử dụng

select kd_hari, hari, sum(rowcount) as rowcount from
    (select a.kd_hari,hari, count(a.kd_hari) as rowcount
    from 4a a,tbhari h where a.kd_hari=h.kd_hari and kd_ruang in('L','P')
    group by a.kd_hari,hari
    union all
    select b.kd_hari,hari, count(b.kd_hari) 
    from 4b a,tbhari h where a.kd_hari=h.kd_hari and kd_ruang in('L','P')
    group by a.kd_hari,hari) as t
group by kd_hari,hari

Ngoài ra, kết hợp 4a và 4b với một liên hợp tất cả trong một truy vấn con và nối nó trên bảng tbhari và bạn có thể sử dụng count () với nhóm theo trên truy vấn con theo cách đó vì truy vấn con sẽ bao gồm các hàng al từ cả hai bảng.

Tuy nhiên, theo cách tôi viết mã mẫu, bạn có thể tận dụng các chỉ mục hiện có trong khi nối các bảng. Nếu bạn kết hợp chúng trước với union và sau đó thực hiện kết hợp, thì sẽ không có chỉ mục nào được sử dụng cho kết hợp.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiểm tra thời gian thực thi truy vấn trong laravel

  2. Thiết kế cơ sở dữ liệu quan hệ (MySQL)

  3. Mysql trả về kết quả bigint không chính xác từng lỗi một, rất lạ

  4. MySQL, cập nhật nhiều bảng với một truy vấn

  5. Trình đơn thả xuống phụ thuộc động với jquery-select2