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

Các trường tổng hợp tổng nâng cao

Viết truy vấn phụ để nhận tổng số nhấp chuột và bán hàng cho mỗi quảng cáo trong phạm vi ngày. Kết hợp những thứ này với ad để lấy tên quảng cáo và product bảng để lấy tên sản phẩm. Kết hợp tên sản phẩm bằng cách sử dụng GROUP_CONCAT .

SELECT ad.ad_name, IFNULL(clicks, 0) AS clicks, IFNULL(product_sale, 0) AS product_sale, IFNULL(GROUP_CONCAT(DISTINCT p.product_name), '') AS products
FROM ad
LEFT JOIN (
    SELECT ad_id, SUM(clicks) AS clicks
    FROM ad_insight
    WHERE date BETWEEN '2021-04-23' AND '2021-04-25'
    GROUP BY ad_id
) AS ai ON ai.ad_id = ad.ad_id
LEFT JOIN (
    SELECT ad_id, SUM(sale) AS product_sale
    FROM ads_products AS ap
    LEFT JOIN product_insight AS pi ON pi.product_id = ap.product_id
    WHERE date BETWEEN '2021-04-23' AND '2021-04-25'
    GROUP BY ad_id
) AS pi ON pi.ad_id = ad.ad_id
LEFT JOIN ads_products AS ap ON ap.ad_id = ad.ad_id
LEFT JOIN product AS p ON ap.product_id = p.product_id
GROUP BY ad.ad_id

DEMO




  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 chuyển đổi cơ sở dữ liệu MySQL sang mã hóa UTF-8

  2. Chuyển đổi truy vấn MySQL thành JSON bằng PHP

  3. Tại sao vòng lặp này không hiển thị một đối tượng cập nhật được đếm sau mỗi năm giây?

  4. Sự cố với các ký tự cyrillic trong url thân thiện

  5. Cơ sở dữ liệu truy vấn Java Mysql có kết nối