[英]Getting the sum of a value for two seperate date ranges in same column and in a single MySQL query
我有如下表,我正在嘗試編寫單個查詢來獲取日期范圍數據以及價格總和。 我的表定義如下
銷售表
id_sale date time
1 2014-05-05 12.30 am
2 2014-05-06 10.30 am
3 2014-05-25 12.30 am
銷售產品表
id_sale_product id_sale price quantity id_product
1 1 10.00 1 1
2 1 20.00 1 2
3 2 20.00 3 5
4 3 20.00 4 6
我想按銷售表中的日期過濾並獲得每個日期的價格總和 * 數量 = 總和,即 2014-05-05,2014-05-06..etc
我試過下面的查詢
$query = 'SELECT sp.`id_product_type`,sp.`id_product`,sp.`quantity`,sp.`price`,s.`date`
, SUM(IF(s.`date` BETWEEN "'.$datepickerFrom.'" AND "'.$datepickerTo.'",sp.`price` * sp.`quantity`,0)) AS A
FROM `'._DB_PREFIX_.'sale_product` sp
LEFT JOIN '._DB_PREFIX_.'sales s ON (sp.id_sale = s.id_sale)
WHERE (s.`date` BETWEEN "'.$datepickerFrom.'" AND "'.$datepickerTo.'")';
輸出應該是:
Example: Date
01/01/2013 Rs.10000
02/01/2013 Rs.140000
03/01/2013 Rs.8000
Example: Month
January Rs. 2,00,000
Feburary Rs. 2,20,000
嘗試這個 ....
select a.date,sum(b.qty * b.price) As sum from sales As a, product As b where DATE_FORMAT(a.date,'%d-%m-%Y') between '27-05-2014' AND '28-05-2014' and a.id_sale=b.id_sale group by a.date
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.