SQLite3:查询之间的动态
Posted
技术标签:
【中文标题】SQLite3:查询之间的动态【英文标题】:SQLite3: dynamic between query 【发布时间】:2013-10-01 16:46:21 【问题描述】:我有这个 sqlite3 表(简化):
+--------+----------+-------+
| ROUTE | WPNumber | WPID |
+--------+----------+-------+
| A123 | 1 | WP001 |
| A123 | 2 | WP002 |
| A123 | 3 | WP003 |
| [...] | [...] | [...] |
| A123 | 20 | WP020 |
+--------+----------+-------+
假设我想反向行驶(020 到 001)。
如何获得介于两者之间的所有 WPID?我知道可以使用 BETWEEN 和 DESC 构建查询,但是我必须构建两个单独的查询并让 Python 检查何时使用哪个查询。是否可以让 sqlite3 完成工作,与方向无关(反向与否)。
【问题讨论】:
查询应该如何知道使用哪个方向? 【参考方案1】:您可以通过颠倒ORDER BY
子句中使用的数字来颠倒排序顺序。
将参数?
设置为1
或-1
:
SELECT WPID
FROM ThisTable
WHERE ROUTE = 'A123'
ORDER BY WPNumber * ?
如果您只使用DESC
的类似查询,数据库将有更好的机会使用索引优化排序。
【讨论】:
以上是关于SQLite3:查询之间的动态的主要内容,如果未能解决你的问题,请参考以下文章