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

Đếm với LEFT JOIN chỉ hiển thị một hàng

Bạn cần một GROUP BY trong truy vấn bên ngoài của bạn, nếu không truy vấn chỉ tính trạng thái cho tất cả các ngân hàng. Bạn cũng có thể đơn giản hóa truy vấn của mình chỉ bằng LEFT JOIN nhập hai bảng trên mã / id và trạng thái =0

SELECT b.type `scu_banks.type`,
b.name `scu_banks.name`,
COUNT(s.status) `status`,
b.id `scu_banks.id`
FROM scu_banks b
LEFT JOIN scu_statement s ON s.code = b.id AND s.status = 0
GROUP BY b.id, b.name, b.type

Đầu ra

scu_banks.type  scu_banks.name  status  scu_banks.id
1               One             2       1
1               Two             1       2
2               Three           0       3
3               Four            0       4

Demo trên dbfiddle




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql:Không hiển thị kết quả trùng lặp trên SELECT

  2. bộ lọc từ xấu được viết bằng MYSQL mà không có php

  3. MySQL LIKE so với LOCATE

  4. java.sql.SQLException:Trường 'nhà cung cấp_id' không có giá trị mặc định

  5. Tham chiếu khóa ngoại mysql từ khóa tổng hợp