php - mysql中使用条件的值总和

标签 php mysql

我有一张这样的 table 。现在我想要两个总和(小时).. 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

提前致谢

最佳答案

这里需要条件聚合。

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

Example fiddle

关于php - mysql中使用条件的值总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30296618/

相关文章:

php - post-receive Hook 后裸 git 存储库出现 500 内部服务器错误

mysql - 向表中插入非重复数据

php - 是否需要安装特定的邮件程序才能使用 PHP mail() 发送电子邮件?

php - 当我使用多个参数时,无法使用 .htaccess rewriteRule 重定向到特定页面

php - 将简单列表服务器端/差异存储到本地存储

php - MySQL:sum() 和连接多个表

javascript - node.js连接mysql数据库出错

mysql - 拒绝在 TIMESTAMP 字段上使用索引

MySQL Group 在 Select 上选择行

php - Laravel - 错误消息未转换为实际错误消息,以 "validation."开头