我有一个问题需要在oracle中使用sql来解决。sql查询根据其连续性在oracle中为某行获取唯一标识
我有一个数据集类似如下:
value | date
-------------
1 | 01/01/2017
2 | 02/01/2017
3 | 03/01/2017
3 | 04/01/2017
2 | 05/01/2017
2 | 06/01/2017
4 | 07/01/2017
5 | 08/01/2017
我需要显示的结果在下面的格式:
value | date | Group
1 | 01/01/2017 | 1
2 | 02/01/2017 | 2
3 | 03/01/2017 | 3
3 | 04/01/2017 | 3
2 | 05/01/2017 | 4
2 | 06/01/2017 | 4
4 | 07/01/2017 | 5
5 | 08/01/2017 | 6
的逻辑是,每当value
变化超过date
,它被分配一个新的group/id
,但如果它与前一个相同,那么它的部分相同group
。
什么是将您转换成您想要的内容的逻辑? – BobC
逻辑是每当值发生变化时它就被赋予一个新的组/ id,但是如果它与前一个相同,那么它就是同一个组的一部分。希望这可以帮助。 – amit
阿米特 - 你在评论中的内容实际上应该添加到你的文章中。我这次为你做了这件事,但请记住,对于将来 - 任何进一步的要求,输入或输出的澄清,以及你提供的附加代码等都应该放在你的文章中;使用评论只是为了提醒其他人你修改了帖子。谢谢! – mathguy