[英]How to get sum of quantity of products from a specific date?
表1销售额
id | date
=================
1 | 10 july
2 | 10 july
3 | 20 july
表2产品
sale_id | product_name | quantity
====================================
1 | cold drink | 2
1 | Samosa | 3
1 | Burger | 1
2 | Burger | 4
3 | Shwarma | 1
我想获取在特定日期售出的产品名称及其数量,例如7月10日,id为1,2的两次销售和该日期售出的产品分别是
cold drink 2
samosa 3
Burger 5 (1 sold in sale 1 and 4 sold in sale 2)
我该如何在mysql中做到这一点?
我已尝试使用“ Select product_name, SUM(quantity) From Products GROUP BY product_name
总和Select product_name, SUM(quantity) From Products GROUP BY product_name
但是此查询为我提供了特定日期的所有我想要的总和,我该如何关联这两个表。
至少有两个解决方案。
您可以使用子选择:
SELECT product_name, SUM(quantity) sum, date FROM Products JOIN ( SELECT * FROM Sales WHERE date = '2019-07-10' ) s ON s.id = Products.sale_id GROUP BY product_name, date ORDER BY sum;
此SQLFiddle的结果。
您可以使用HAVING进行日期匹配:
SELECT product_name, SUM(quantity) sum, date FROM Products JOIN Sales ON id = sale_id GROUP BY product_name, date HAVING date = '2019-07-10' ORDER BY sum;
此SQLFiddle的结果。
如果您需要整天的数据,请使用此
SELECT products.product_name, sales.date, sum(products.quantity)
FROM products LEFT JOIN sales
ON products.sale_id = sales.id group by products.product_name, sales.date;
如果您想要特定日期的数据,则可以使用以下方法:
SELECT products.product_name, sales.date, sum(products.quantity)
FROM products LEFT JOIN sales
ON products.sale_id = sales.id WHERE sales.date = '10 july' group by products.product_name, sales.date;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.