mysql - 显示 2 个不同日期的数据

标签 mysql sql

我对 sql 查询非常陌生,我有 1 个问题。详情如下:

我有一张 table :

用户表

user_id username    balance   date_updated
------------------------------------------
1       adam        100       09/10/2017
2       david       100       09/10/2017
1       adam        110       10/10/2017
2       david       120       10/10/2017
1       adam        100       11/10/2017
2       david       100       11/10/2017
1       adam        110       12/10/2017
2       david       120       12/10/2017

我想获取2017年9月10日和2017年10月12日的余额

预期结果:

username    first_date   second_date
------------------------------------
adam        100          110
david       100          120

提前致谢!!

最佳答案

使用条件聚合

SELECT 
  username, 
  MAX(CASE WHEN date_updated = '2017-10-09' THEN balance END) AS first_date, 
  MAX(CASE WHEN date_updated = '2017-10-12' THEN balance END) AS second_date
FROM user_table 
GROUP BY username

关于mysql - 显示 2 个不同日期的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52829077/

相关文章:

php - 从表到表的复杂 MySQL 获取关系和条件

mysql - 选择名为 Titel 的列,其中 id 与另一个表相同

mysql - 如何在 mysql 表上存储多个值

sql 查看最大值,每小时计算

级联删除的 SQL 输出

mysql - mysql主键自增如何LOAD数据?

sql - 将 XML 导入并分解为 SQL 表

MySQL查询帮助请加入多个表

php - 从 mysql 中的 3 列中选择文件并压缩它们

mysql - SELECT 单个表中的行的祖父 - SQL