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

Làm thế nào để ngăn chặn sự lặp lại này và nhóm theo ngày

Bạn nên sử dụng UNION trong truy vấn con và sau đó GROUP BY trong SELECT:

SELECT my_date, 
       my_month, 
       SUM(credit), 
       SUM(debit)
FROM (
    SELECT cc.credit_date as my_date,
           MONTHNAME(cc.credit_date) as my_month,
           ROUND(SUM(IFNULL(cc.credit_amount,0)),2) AS credit,
           0 AS debit
    FROM   cust_credit cc
    WHERE YEAR(cc.credit_date) = YEAR(NOW()) 
    GROUP BY cc.credit_date,
             MONTHNAME(cc.credit_date)
    UNION
    SELECT 
           cd.debit_date ,
           MONTHNAME(cd.debit_date) ,
           0 ,
           ROUND(SUM(IFNULL(cd.debit_amount,0)),2)
    FROM   cust_debit cd
    WHERE YEAR(cd.debit_date) = YEAR(NOW()) 
    GROUP BY cd.debit_date, 
             MONTHNAME(cd.debit_date) 
) as TT
GROUP BY my_date,my_month

Đây là Fiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm kiếm biểu tượng cảm xúc trong MySQL

  2. Sử dụng JDBC / Mysql Connector trong ý tưởng intellij

  3. Làm cách nào để khử trùng đúng cách dữ liệu nhận được từ một vùng văn bản, khi xuất dữ liệu đó trở lại vùng văn bản?

  4. cố gắng kết nối với mysql từ xa từ trang .asp

  5. Làm cách nào để khóa hàng InnoDB chưa tồn tại?