2011-04-04 14 views
2

こんにちは
のは、以下のようにデータを我々は(2つのフィールドで、それらはversioncompatibleある)テーブルを持って考えてみましょう:選択行

+-------+------+ 
| 0.1.1 | true | 
+-------+------+ 
| 0.1.2 | false| 
+-------+------+ 
| 0.1.3 | true | 
+-------+------+ 
| 0.1.4 | true | 
+-------+------+ 
| 0.1.5 | true | 
+-------+------+ 
| 0.1.6 | false| 
+-------+------+ 
| 0.1.7 | true | 

は、今私がしたいです0.1.5
がどのように私はそれを行うことができます0.1.20.1.30.1.4、次の行にcompatible = false
compatible = falseことは、結果がでなければならないことversion = '0.1.3'前の行からすべての行を選択?

+0

あなたの例では、0.1.3,0.1.4,0.1.5および0.1.6の値を入力する必要がありますか? –

+0

はい、そうではありません0.1.6 – Omid

答えて

2
SELECT version, compatible 
    FROM YourTable 
    WHERE version >= '0.1.3' 
     AND version < (SELECT version 
          FROM YourTable 
          WHERE version > '0.1.3' 
           AND compatible = 'false' 
          ORDER BY version 
          LIMIT 1) 
    ORDER BY version 
+0

偉大なので、前と次の行の間でバージョンを選択したい場合、互換性はfalseです。私は0.1.2,0.1.3,0.1.4,0.1.5を意味する – Omid