Mysql总结了行和列

时间:2013-07-07 04:07:55

标签: php mysql sql sum

这有点难以解释,所以我会一步一步地这样做。下面是我创建的表格。

id  | item_1 | item_2 | item_3|
32  |   1    |   43   |  54   |
32  |   54   |   32   |  32   |
67  |   42   |   45   |  12   |

正如你所看到的,前两行有相同的id,我的目标是,得到第一行的总和(1 + 43 + 54),第二行的总和是(54 + 32) +32),然后添加具有相同ID的两行,并从最高到最低排序。有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:6)

我认为你在寻找的是

 select 
      id, 
      sum(item_1+item_2+item_3) as item_sum 
 from yourtable 
 group by id 
 order by item_sum desc;

答案 1 :(得分:4)

我会这样做:

SELECT 
    ID, 
    SUM(Total) as TotalSum
FROM 
    (
        SELECT ID, ITEM_1 + ITEM_2 + ITEM_3 as Total 
        FROM 
            MyTable
    )
GROUP BY ID
ORDER BY TotalSum DESC