我目前有这样的数据
ID range_1 range_2
|3V20.0303:3V20.0313| |3V20.0303| |3V20.0313|
|3V20.0101:3V20.0108| |3V20.0101| |3V20.0108|
|3V20.0305:3V20.0308| |3V20.0305| |3V20.0308|
|3V20.0104:3V20.0104| |3V20.0104| |3V20.0104|
|3V20.0501:3V20.0505| |3V20.0501| |3V20.0505|
我在精细化范围 1 和范围 2 中包含的数据时遇到问题。 一定是这样的
ID range_1 range_2
|3V20.0305:3V20.0308| |3V20.0305| |3V20.0308|
|3V20.0104:3V20.0104| |3V20.0104| |3V20.0104|
|3V20.0501:3V20.0505| |3V20.0501| |3V20.0505|
有人可以帮我吗?
我一直在尝试这样的代码,但都是错误的。
SELECT id, range1, range2
FROM tbl_test
WHERE range1 BETWEEN range1 AND range2
or range2 between range1 and range2
最佳答案
可以进行自连接,其中 range_1 和 range_2 都位于行 range_1 和 range2 之间。
类似这样的:-
SELECT a.*
FROM SomeTable a
INNER JOIN SomeTable b
ON a.range_1 BETWEEN b.range_1 AND b.range_2
AND a.range_2 BETWEEN b.range_1 AND b.range_2
AND (a.range_1 != b.range_1
OR a.range_2 != b.range_2)
关于Mysql查找字段之间的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19535007/