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

Nhóm bằng cách không hoạt động với tổng 2 trường

Vấn đề là store với id 1 có hai bản ghi tương ứng trong store_sub bảng, có nghĩa là qty trường sẽ xuất hiện hai lần cho cửa hàng 1. Bạn cần tính tổng 2 bảng riêng biệt trong các truy vấn con và nối các phiên bản được tổng hợp lại với nhau:

select t1.department, t1.sqty, t2.ssubqty
from
  (select department, sum(qty) as sqty from store group by department) t1
left join
  (select s2.department, s1.sum(sub_qty) as ssubqty
   from store_sub s1
   inner join store s2 on s1.parent_id=s2.id
   group by s2.department) t2 on t1.department=t2.department


  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 ERROR 1241 (21000):Toán hạng phải chứa 1 (các) cột

  2. hiển thị tất cả các bản ghi từ một bảng và khớp các bản ghi từ một bảng khác

  3. Làm việc với Trigger trong Cơ sở dữ liệu MySQL - Hướng dẫn

  4. PHP Chuyển đổi ngày thành ngày / giờ / giây trống trước đây

  5. MySQL động với các biến cục bộ