php - 如何选择按日期分组的 SQL 结果

标签 php mysql sql

我想按日期从下表中选择数据

date        btype       amount
1-2-2017    income      1000
1-2-2017    income      200
1-2-2017    Expense     100
1-2-2017    Expense     200

2-2-2017    income      1000
2-2-2017    income      500
2-2-2017    Expense     1000

3-2-2017    income      2000
3-2-2017    Expense     500

所以我的结果应该是这样的。

date        Income      Expense
1-2-2017    1200        300
2-2-2017    1500        1000
3-2-2017    2000        500

有人会指导我如何编写 SQL 查询来实现此行为吗!

最佳答案

这是相当简单的 SQL,您应该能够通过一些 google 自行了解:

select date
      ,sum(if(btype = 'income', amount, 0)) as Income
      ,sum(if(btype = 'expense', amount, 0)) as Expense
from table
group by date

关于php - 如何选择按日期分组的 SQL 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42159390/

相关文章:

php - 写入 MYSQL 表不起作用

php - 如何在一定数量后停止++$i 自动递增

mysql - SQL 选择每天的最后一个时间戳

sql - 尝试删除行时 Postgres 中的 "No unique identifier for this row."

mysql - 相关查询 - 在派生表中,我可以有很多嵌套级别吗?

php - Laravel 中使用 'LIKE' 查询进行数组到字符串的转换

php - MySQL基于最高值的查询,但列是VARCHAR

php - 从其他表 + Doctrine 查询

mysql - 仅来自日期时间列的时间

mysql - 删除总计数的百分比