选择带有where子句但不在同一查询中

时间:2012-04-02 15:58:05

标签: mysql select group-by

我正试图找到一种方法来总结与特定术语相匹配的金额,以及与其不匹配的金额。例如,如果我的表看起来像这样

user  amount  description
1     34      bike
1     78      toys
2     3       fuel
2     12      bike

我正试图找到一个最终看起来像这样的表:

user   amount spent on bike  amount spent total
1      34                    112
2      12                    15

我正在使用mysql

1 个答案:

答案 0 :(得分:1)

您可以在CASE分组中使用SUM语句:

SELECT user,
       SUM(CASE WHEN description = 'bike' THEN amount ELSE 0 END) bike_amount,
       SUM(amount) total_amount
FROM mytable
GROUP BY user