Sum列多次

Flo*_*ian 2 mysql sql sum

我有一些桌子和一些产品.他们每个人都有一个价格.当用户看到他的篮子时,我想显示他选择的所有产品的总量.

我的问题是:是否可以通过SQL来完成它或者让我在PHP中请求后执行此操作?

其实我的要求是:

SELECT SUM(PRICE) FROM products WHERE ID IN(65,68,68);
Run Code Online (Sandbox Code Playgroud)

我会考虑两个68.

谢谢,弗洛里安

Chr*_*hey 5

所以理想情况下你不会IN在这种情况下使用(事实上​​,你不能让它以这种方式工作).你需要的是一个JOIN到cart_products表(或类似):

SELECT SUM(PRICE) 
FROM 
  cart_products
  JOIN products ON products.id = cart_products.product_id
WHERE 
  cart_products.cart_id = ?
Run Code Online (Sandbox Code Playgroud)

然后传入当前会话的cart_id.

请注意,如果您的购物车有qty选项,则可以将其用作SUM表达式:

SUM(products.PRICE * cart_products.qty)
Run Code Online (Sandbox Code Playgroud)