在mysql中使用条件的值的总和

时间:2015-05-18 06:43:04

标签: php mysql

我有一张这样的桌子。现在我想要两个总和(小时).. 1为place_type'1'而另一个为place_type'2'。在mysql中有可能吗?

现在我的查询是

SELECT sum(hour) as totalHour from category_data group by category_data.user_id

也试过IF条件但没有工作

SELECT IF(place_type='1',sum(hour),0) home, 
  IF(place_type='2', sum(hour), 0) center,
    from category_data group by category_data.user_id

user_id   place_type  hour     
  1          1         2
  1          2         5
  2          1         3
  2          2         4
  3          1         2

提前致谢

1 个答案:

答案 0 :(得分:3)

这里需要条件聚合。

select sum(case when place_type = 1 then `hour` end), 
       sum(case when place_type = 2 then `hour` end)
  from category_data

Example fiddle