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

Tham gia còn lại, tổng và đếm nhóm theo

Vấn đề của bạn là khi bạn có hai (hoặc nhiều) store hàng và hai (hoặc nhiều hơn) pics hàng cho một goods hàng, bạn sẽ có sản phẩm của tất cả các kết hợp các hàng.

Để khắc phục điều này, hãy tổng hợp lại trước khi tham gia:

SELECT 
  good.id, 
  good.title, 
  IFNULL(s.storerest, 0) AS storerest, 
  IFNULL(p.picscount, 0) AS picscount
FROM goods 
LEFT JOIN (
  SELECT goodid, sum(rest) AS storerest
  FROM store
  GROUP BY goodid
) s ON (goods.id = s.goodid) 
LEFT JOIN (
  SELECT goodid, count(id) AS picscount
  FROM pics
  GROUP BY goodid
) p ON (goods.id = p.goodid) 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách sử dụng các ký tự đại diện tiền tố như '* abc' với đối sánh

  2. mysql như tăng hiệu suất

  3. Cập nhật trực tiếp Dữ liệu MySQL

  4. Chuyển đổi bảng từ MyISAM sang INNODB

  5. Cách truy xuất hình ảnh từ cơ sở dữ liệu MySQL và hiển thị trong thẻ html