我有一个表格:temp_shoppingcart .
在temp_shoppingcart中,我有temp_shoppingcart_id, user_id, product_id, quantity和color。任何时候,当用户在购物车中添加商品时,它都会添加一个新行来存储数据。
因此数据将具有类似user_id: 1, product_id: 123, quantity: 1, color: black的内容。如果用户再次添加相同的项,它将作为新行输入相同的数据。所以会有两次相同的行
我如何显示数据,使相同的产品将被组在一起显示为同一行,但数量是2行的总和?
这实际上是一个非常基本的查询概念。也许你可以看一些MySQL教程,多学一点。像这样:http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html
无论如何
下面的查询选择product_id,总和(数量),GROUP_CONCAT(颜色)
从表
GROUP BY product_id
将显示带有总和数量的行。例如,如果两个条目的"color"字段都是红色,则GROUP_CONCAT(color)将显示"red,red"。
如果你也想按颜色对项目进行分组,我建议使用下面的查询。
选择user_id product_id、颜色(数量)和
从temp_shoppingcart
GROUP BY user_id, product_id,color
如果你不想按颜色分组
选择user_id、product_id GROUP_CONCAT(颜色),(数量)和
从temp_shoppingcart
GROUP BY user_id, product_id