【发布时间】:2021-02-19 08:17:18
【问题描述】:
我有一些这样的数据↓
T_ID T_PERIOD T_COUNT T_SUM T_UPDATE_COUNT
1 2013-2014 3436 20118043 0
2 2014-2015 4298 27101356 0
3 2015-2016 5577 38844640 0
4 2016-2017 5764 40701339 0
5 2017-2018 6997 54316874 0
6 2018-2019 13315 151012820 0
7 2019-2020 13933 162731044 0
8 2018-2019 13300 150000000 1
9 2013-2014 3600 21000000 1
10 2018-2019 13500 155000000 2
这个表只有insert,插入时T_UPDATE_COUNT = max(T_UPDATE_COUNT) + 1;
我希望数据看起来像这样↓
T_ID T_PERIOD T_COUNT T_SUM T_UPDATE_COUNT
9 2013-2014 3600 21000000 1
2 2014-2015 4298 27101356 0
3 2015-2016 5577 38844640 0
4 2016-2017 5764 40701339 0
5 2017-2018 6997 54316874 0
10 2018-2019 13500 155000000 2
7 2019-2020 13933 162731044 0
SQL语句怎么写?
【问题讨论】:
-
你能解释一下预期结果背后的逻辑是什么吗?
-
这些数据是从另一个表“group by”中获得的。都是历史数据,基本不会变,但是会变。我不想做“删除、更新”操作。所以当时我的想法是,如果周期数据发生变化,我会把最新的周期数据写入表中,字段't'_UPDATE_Count'+1用于区分。
-
谢谢解决,因为数据量很小,我想也许可以加个is_delete字段,当数据变化时'update is'_这样查询语句就会更简单。
-
英文是翻译软件生成的,希望是对的