我对MySQL并不了解,但我必须这样做。有了这件好事。 :) 我有1个表,其中包含2个ID字段(ID和REFID)。 我只想选择不在其他ID到REFID之间的ID。
第1行:ID = 1且REFID = 15
第2行:ID = 17,REFID = 20
第3行:ID = 19 ,REFID = 25
我只想在结果中输入第1行和第2行。 因为第3行正在越过第2行。 对不起我的不好解释, 我希望你知道我想知道什么。 :)
答案 0 :(得分:0)
为此,您应该使用MySql程序。您可以找到教程here.
答案 1 :(得分:0)
你是用PHP做的吗?
如果是这样的话可能是这样的...... - 创建一个查询,以按数组ORDER返回表中所需的列 - 然后创建一个循环开始,获取以id等于最低id号开头的记录 - 并重复循环,直到您检索到您想要的最高ID号的记录。
其中一种方法应该让你到那里......我想: - )
答案 2 :(得分:0)
这基于在表中查找与另一个表不匹配的行的一般模式,如Return row only if value doesn't exist中所示。但在这种情况下,两个表是相同的表,匹配是通过检查另一行中id
和id
之间的RefID
。
SELECT t1.*
FROM yourTable AS t1
LEFT JOIN yourTable AS t2 ON t1.id > t2.id AND t1.id < t2.RefID
WHERE t2.id IS NULL