2015-08-03 82 views
0

我想計算銷售產品的平均數量。表:MySQL - 加法,減法和計算日期

pieces | date    | status 
------------------------------------------- 
1  | 2015-07-27 12:00:01 | sold 
2  | 2015-07-27 16:30:43 | sold 
1  | 2015-07-28 13:17:11 | sold 
1  | 2015-07-29 10:46:00 | returned 

我必須添加的所有作品有 「已售出」 狀態(4)所有。減去 「返回」(1)除(2015年7月29日 - 2015年7月27日)3.

我可以做出這樣一個查詢,如:

SELECT SUM(pieces WHERE 'sold' - pieces WHERE 'returned'/date(max - min)) WHERE (date >= date_sub(NOW(), INTERVAL 30 days)) 

回答

0

是。一個簡單的方法是有條件聚集:

select (sum(case when status = 'sold' then pieces else 0 end) - 
     sum(case when status = 'returned' then - pieces else 0 end) 
     )/(1 + datediff(max(date), min(date)) 
from . . .; 
+0

選擇(SUM(情況下statuses_storages_parts_pieces LIKE '出售%' 然後statuses_storages_parts_pieces否則爲0結束) - 總和(情況下statuses_storages_parts_pieces LIKE '返回%',那麼 - statuses_storages_parts_pieces否則爲0結束) )/(1 + datediff(max(statuses_storages_date),min(statuses_storages_date)))from aso_storages_statuses ---- result 0.0000: - / –