获取包含相同其他列的所有Mysql列


Get all Mysql columns containing same other column

嗨,假设我有一个这样的表:

________________________________________________________
|
|    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订单,如:

订单名称-日期-总金额。还是更好的方法来创建新的表格并存储每个订单的总和,并在该表中的每行添加sum-id?

这将实际返回order_name - date - total sum,假设您的date列是date

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`

使用GROUP BY:

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

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