0

私はこのsqlite3テーブルを持っています(簡略化):

+--------+----------+-------+
| ROUTE  | WPNumber |  WPID |
+--------+----------+-------+
|  A123  |    1     | WP001 |
|  A123  |    2     | WP002 |
|  A123  |    3     | WP003 |
|  [...] |   [...]  | [...] |
|  A123  |    20    | WP020 |
+--------+----------+-------+

このルートを逆方向 (020 から 001) に移動したいとします。

間にあるすべての WPID を取得するにはどうすればよいですか? BETWEEN と DESC を使用してクエリを作成できることはわかっていますが、2 つの個別のクエリを作成し、いつどのクエリを使用するかを Python にチェックさせる必要があります。方向(逆かどうか)に関係なく、sqlite3に作業をさせることは可能ですか?

4

1 に答える 1

0

ORDER BY句で使用されている番号を逆にすることで、ソート順を逆にすることができます。パラメータ?を または のいずれかに1設定し-1ます。

SELECT WPID
FROM ThisTable
WHERE ROUTE = 'A123'
ORDER BY WPNumber * ?

で同様のクエリを使用するとDESC、データベースはインデックスを使用して並べ替えを最適化する機会が増えます。

于 2013-10-01T19:15:01.887 に答える