2010-12-20 69 views
1

假定Col包含系统名称“Apple”。 Col B有许多与Col A中的系统相关的ID。这些ID意味着与系统有关的东西。 Col C有这些ID由系统生成的时间戳。返回连续号码

这是我写获得上述数据的查询:

SELECT Name, ID, time 
FROM Xtable 
WHERE (Name='Apple') AND ID in ('1', '2', '3', '4') 
GROUP BY Name, ID, time 

该查询的问题是,它只要它含有上述号码之一(不一定在一个序列中)返回的行

输出上述查询的:

Apple 3 12/1/2010 11:04 AM 
Apple 4 12/1/2010 11:58 AM 
Apple 1 12/1/2010 11:00 AM 
Apple 1 12/1/2010 11:01 AM 
Apple 1 12/1/2010 09:05 AM 
Apple 2 12/1/2010 09:10 AM 
Apple 3 12/1/2010 09:40 AM 
Apple 4 12/1/2010 10:00 AM 
Apple 2 12/4/2010 03:25 PM 
Apple 1 12/4/2010 12:47 PM 
. 
. 
. 
. 
. 
. 

欲调整它使得其仅当在列B的ID发生在Se返回在所有三个列中的值(1,2,3,4)。我想要这些信息,因为顺序ID代表了我用来提取某些信息的一组事件。

+0

'按ID排序'对ya不起作用吗? – corsiKa 2010-12-20 17:54:51

+0

事件ID 2可能发生在事件ID 1之前,在这种情况下,您希望排除记录? – 2010-12-20 18:05:57

+0

是基于时间字段的序列吗?或基于它如何插入 – 2010-12-20 18:26:05

回答

0

如果事件ID 2发生在ID 1之前,那并不重要。我要的只是所有4个ID(1,2,3和4)在连续行中出现。只有当它们全部出现在一起时,ID才意味着什么。我的意思是,如果有任何重复的ID如:3,3,4,2,1;我想把第一个3排除在输出之外。