MySQL上个月选择总和(价格)

彼得·波佩利什科(Petro Popelyshko)

我有这张桌子

stk
+---------+--------------+
| Field   | Type         |
+---------+--------------+
| id      | int(11)      | 
| name    | varchar(255) | 
| type_id | int(11)      |
+---------+--------------+

 stk_type

+-------+--------------+
| Field | Type         |
+-------+--------------+
| id    | int(11)      | 
| name  | varchar(255) | 
| price | int(11)      | 
+-------+--------------+

    customer
+-------+--------------+
| Field | Type         | 
+-------+--------------+
| id    | int(11)      | 
| fio   | varchar(255) | 
+-------+--------------+
and sales

+-------------+-----------+
| Field       | Type      | 
+-------------+-----------+
| id          | int(11)   | 
| customer_id | int(11)   |
| stk_id      | int(11)   | 
| date        | timestamp |
+-------------+-----------+

我需要选择上个月我得到多少钱;我不知道如何在一个查询中选择它。

SELECT stk_id FROM sales
WHERE date >= DATE_SUB( CURDATE(), INTERVAL 1 MONTH )

所以现在我有了上个月的所有stk id,我需要计算总和,但是如果我有重复的密钥,该怎么办:例如:

如果最后一个查询返回stk_id1,1,1,2,3,3,如果价格stk_type等于下一个,我如何计算总和

id 1 price 100
id 2 price 200
id 3 price 150

所以对于这个例子,我应该得到这个结果800;

我需要选择所有stk_id并以某种方式选择价格并计算总和。寻求帮助,谢谢。

米尔托斯

试试这个SQL查询

SELECT stk_id, SUM(price) FROM sales
LEFT JOIN stk ON stk_id = stk.id
LEFT JOIN stk_type ON type_id  = stk_type.id
WHERE date >= DATE_SUB( CURDATE(), INTERVAL 1 MONTH )
GROUP BY stk_id

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章