【发布时间】:2021-01-03 10:24:03
【问题描述】:
我有一个使用 group by 的超级简单查询,但我不知道如何获得所需的结果。这实际上是一个使用 min() 和 max() 的简单查询。我有一张表,其中资产属于某个位置,有一个日期输入/输出(它也有多个输入/输出日期而不更改位置),但是如果资产移回它以前已经存在的位置,则分组不会工作。我试过用over(partition by...)的组合,就是解决不了。
表:
Asset Location Date In Date Out
------------------------------------------
00001 A 01/01/2020 13/01/2020
00001 A 14/01/2020 26/01/2020
00001 A 27/01/2020 08/02/2020
00001 B 09/02/2020 21/02/2020
00001 B 22/02/2020 05/03/2020
00001 B 06/03/2020 18/03/2020
00001 A 19/03/2020 31/03/2020
00001 A 01/04/2020 13/04/2020
00001 A 14/04/2020 26/04/2020
00001 A 27/04/2020 09/05/2020
00001 A 10/05/2020 16/09/2020
想要的结果:
Asset Location Date In Date Out
------------------------------------------
00001 A 01/01/2020 08/02/2020
00001 B 09/02/2020 18/03/2020
00001 A 19/03/2020 16/09/2020
实际结果:
Asset Location Date In Date Out
------------------------------------------
00001 A 01/01/2020 16/09/2020
00001 B 09/02/2020 18/03/2020
【问题讨论】:
-
向我们展示您尝试过的查询
标签: sql oracle group-by max min