我有一個表,有2列,可樂和colb,代表一個數字範圍。多列的範圍
例問題:
cola - colb
1 - 10
11 - 22
33 - 66
67 - 67
- 如果輸入是7-8,我想的查詢,將提取範圍1-10。
- 如果輸入的是67 - 80,我想一個查詢,將提取67 - 67
例子查詢:
SELECT *
FROM example
WHERE vala >= cola
AND valb <= colb
第一個標準與上述查詢的偉大工程,但它下降下來的時候可樂= COLB即.. 67 - 67
以上是我的問題的一個簡單的例子。該問題實際上由IPS的範圍。 Cola - Colb2 = IP範圍。在上面的例子中,我已經包含了一些情況。
SELECT *
FROM `static_allocation`
WHERE INET_ATON('$network_addr') >= INET_ATON(network_addr)
AND INET_ATON('$broadcast_addr') <= INET_ATON(broadcast_addr)
LIMIT 1
編輯:
OK,看來我是稍有不妥..
表數據
10.0.0.0 - 10.0.0.15
10.0.0.16 - 10.0.0.16
然而,當我嘗試和選擇10.0.0.16 - 10.0.0.20
,這不是」 t找到記錄..
這是沒有意義的我。 – 2012-01-29 19:50:36
是不是因爲valb是80並且不小於或等於67? – TigOldBitties 2012-01-29 19:53:11
我認爲這個問題是關於IP範圍的。 192.1.1.5的網絡地址是192.1.1.0,它的廣播地址是192.1.1.255 @TigOldBitties:錯過了80有 – Andomar 2012-01-29 19:53:48