查找数字是否在SQL

时间:2016-07-01 10:56:58

标签: sql

寻找支持以查找数字是否返回到同一列的相同ID中的前一个数字。

以下是数据集的示例。

ID      Number  Date        Sequence Count
10000B1 60      28.10.2015  10
10000B1 57      28.09.2015  9
10000B1 58      28.08.2015  8
10000B1 57      29.07.2015  7
10000B1 56      30.06.2015  6
10000B1 55      01.05.2015  5
10000B1 54      05.04.2015  4
10000B1 53      06.03.2015  3
10000B1 52      08.02.2015  2
10000B1 51      09.01.2015  1

如果在相同的ID中,我想找到例外,Number再次回到之前的号码。

例如:编号序列计数7,编号为57,再次编号为9序列,编号为57.

或同一列中的数字从58而不是59返回到57。

您能否在SQL中支持我使用SQL查找这些类型的案例?

感谢。 拉维

2 个答案:

答案 0 :(得分:1)

也许这就是你想要的:

select t.*
from Apple t
where exists (select 1
              from Apple t2
              where t2.id = t.id and
                    t2.number = t.number and
                    t2.sequence < t.sequence
             );

答案 1 :(得分:0)

你可以尝试

select a.* from your_table as a 
inner join your_table as b on a.date > b.date and a.number < b.number

使用您的列名称

 a.ID, a.`Number`, a.`Date`, a.`Sequence Count`
 from from apple_table as a 
 inner join apple_table as b on a.`Date` > b.`Date` and a.`number` < b.`number`
数字和顺序的

应为

 a.ID, a.`Number`, a.`Date`, a.`Sequence Count`
 from from apple_table as a 
 inner join apple_table as b on a.`Sequence Count` < b.`Sequence Count` and a.`number` > b.`number`