我有一个名为 products 的表,产品注册了一个 sku,在一个名为数量的列中有库存,我想添加数量列中的所有记录,但只添加相同 sku 的记录,这是我的桌子:
*----*---------*----------*----------*
| id | sku | nombre | cantidad |
*----*---------*----------*----------*
| 1 | 1001 | Refresco | 20 |
*----*---------*----------*----------*
| 2 | 1002 | Papas | 100 |
*----*---------*----------*----------*
| 3 | 1003 | Tortillas| 15 |
*----*---------*----------*----------*
| 4 | 1001 | Refresco | 70 |
*----*---------*----------*----------*
| 5 | 1003 | Tortillas| 30 |
*----*---------*----------*----------*
| 6 | 1001 | Refresco | 20 |
*----*---------*----------*----------*
我申请的代码是:
SELECT SUM(IF(sku=1001, cantidad)) FROM productos;
发送此错误:
意外的“if”元素附近的语法错误
你可以这样做:
sku
并nombre
SUM()
在您传递给列的函数内部cantidad
sku
你分组nombre
WHERE
wheresku
= 1001AND
如果您希望对所有产品进行总和,按它们对它们进行分组,
sku
然后只需WHERE
从查询中删除一个,如下所示:现在使用相同的语法,我认为更改应该如下所示:
对于你想要的你可以选择你想要的按列分组的数据的总和,当然,通过代码,功能示例进行调节;
您的数据的实际示例; http://sqlfiddle.com/#!9/74b870/2
您可能想知道如何对几个做同样的事情
sku
,解决方法是使用子句IN
;