【发布时间】:2015-11-20 22:01:19
【问题描述】:
我有一张如下表:
INS_SEQ | NAME | DATE
-----------------------------
1 | willy | 15/11/10
2 | zoe | 15/11/20
3 | willy | 15/11/20
4 | willy | 15/11/10
5 | willy | 15/11/21
6 | zoe | 15/11/17
7 | willy | 15/11/12
8 | zoe | 15/11/20
9 | zoe | 15/11/30
... and other values ...
按NAME 列分组返回:
INS_SEQ | NAME | DATE
----------------------------
1 | willy | 15/11/10
3 | willy | 15/11/20
4 | willy | 15/11/10
5 | willy | 15/11/21
7 | willy | 15/11/12
2 | zoe | 15/11/20
6 | zoe | 15/11/17
8 | zoe | 15/11/20
9 | zoe | 15/11/30
我想得到一个结果,对于相同的值,NAME 上一个日期大于下一个日期(换句话说,我希望看到满足上一个插入日期的那些行少于 Reg 相同名称)。
如何实现?
我的预期输出是:
NAME | DATE
-----------------
willy | 15/11/20
willy | 15/11/21
zoe | 15/11/20
zoe | 15/11/17
zoe | 15/11/30
【问题讨论】:
-
按日期列排序
-
但其他日期的值'保留,如果不符合比较算法,则不知道从组中取多少行
-
您希望行 1 'Willy 15/11/10'等行发生什么?
-
如果您正在寻找每个名称出现一次的每个唯一日期,请使用:选择不同的名称,从表中选择日期。如果要对其进行排序,请添加 order by,例如: order by name, date
-
我想稍后显示添加到表中的行,对于错误类型的每个组,上一个日期大于下一个日期。