0

嗨,假设我有一张这样的桌子:

________________________________________________________
|
|    id     |     order    |  date   |  item  |   price|
-------------------------------------------------------
|     1            1st        date       i1       10,00|
|-------------------------------------------------------    
|     2            2nd       date        u2       15,00|
|-------------------------------------------------------
|     3            1st       date        i1       20,00|
|------------------------------------------------------- 
|     4            2nd       date        u2       30,00|
|-------------------------------------------------------

我需要获取包含相同订单名称的商品的总和并打印 DISTINCT 订单,例如:

order_name - 日期 - 总和。或更好的方法来创建新表并存储每个订单的总和并在此表中添加每行的总和 ID?

4

2 回答 2

1

使用GROUP BY

SELECT SUM(`price`)
FROM `orders`
GROUP BY `order`

http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html

于 2012-07-09T14:37:40.080 回答
1

order_name - date - total sum假设您的专栏datedate

SELECT CONCAT(order, " - ", date, " - ", SUM(price)) as Result
FROM orders
GROUP BY `order`

要添加数量,请尝试以下操作:

SELECT CONCAT(order, " - ", date, " - ", CASE WHEN quantity > 1 THEN (quantity * SUM(price)) ELSE SUM(price) END) as Result
FROM orders
GROUP BY `order`
于 2012-07-09T14:41:34.867 回答