【发布时间】:2020-03-11 13:15:53
【问题描述】:
我需要一些帮助来生成 MySQL 版本 5.7.29 的 MySQL 查询
我拥有的数据集是这样的(示例数据):
| id | serial_number | reading_value | reading_date | register_type |
|----|---------------|---------------|---------------------|---------------|
| 1 | 123 | 7492.91 | 2019-11-20 15:37:55 | import |
| 2 | 123 | 7783.3 | 2019-11-25 11:15:47 | import |
| 3 | 123 | 0 | 2019-11-26 13:34:01 | export |
| 4 | 123 | 4.01 | 2019-11-27 13:52:23 | export |
| 5 | 456 | 7404.93 | 2019-11-24 13:31:06 | import |
| 6 | 456 | 7758.23 | 2019-11-26 13:35:02 | import |
| 7 | 456 | 0 | 2019-11-20 15:37:55 | export |
| 8 | 456 | 0 | 2019-11-26 13:34:01 | export |
我想获得 latest import 和 latest 的 reading_value 的 sum export 为每个 serial_number 生成如下数据集:
| serial_number | total_value | latest_reading_date |
|---------------|-------------|---------------------|
| 123 | 7787.31 | 2019-11-27 13:52:23 | <--- id 2 and 4 from above table
| 456 | 7758.23 | 2019-11-26 13:35:02 | <--- id 6 and 8 from above table
- 在这个结果数据集中,total_value 是 latest import 和 的 sum每个序列号的最新 导出 reading_value
- latest_reading_date 是 serial_number 的最新(最新)导入或导出(以最晚者为准)日期
我尝试了以下查询,但它给了我 all import 和 export 的 sum每个 serial_number 的值,而不仅仅是 latest import 和 latest 的 sum每个 serial_number 的 em>export 值。
select serial_number, sum(reading_value) as 'total_value', max(reading_date) as 'latest_reading_date'
from t1
group by serial_number
我们将不胜感激。
【问题讨论】: