对不起,这个问题的措辞不好,很难准确地解释我需要什么。
我使用了这个查询:
select *
from table
where unique_id in (
select unique_id from table group by unique_id having count(*) > 1
)
这给了我如下结果:
id date unique_id
12 3/3/2013 asdf1
13 3/4/2013 asdf1
14 3/5/2013 asdf1
15 3/6/2013 asdf1
16 3/8/2013 qwer2
17 3/9/2013 qwer2
18 3/10/2013 qwer2
19 3/11/2013 zxcv3
20 3/12/2013 zxcv3
21 2/2/2012 jkl
22 2/3/2012 jkl
22 2/4/2012 jkl
23 2/5/2012 jkl
24 2/5/2012 jkl
25 2/6/2012 jkl
26 2/7/2012 jkl
我希望查询进一步细化这些结果,并将每组匹配的 unique_id 的第一行和最后一行留给我
** 在每组匹配的 unique_id 中,结果将始终遵循 ID + 1 和 date + 1 天的模式。
** 没有此条件的 count(*) > 1 将等于 1 的记录。
所以换句话说,我希望查询只返回:
12 3/3/2013 asdf1
15 3/6/2013 asdf1
16 3/8/2013 qwer2
18 3/10/2013 qwer2
19 3/11/2013 zxcv3
20 3/12/2013 zxcv3
21 2/2/2012 jkl
26 2/7/2012 jkl
谢谢!