SQLite:排序我的选择结果

标签 sqlite

我有一个表,其中包含唯一的用户名和一堆我正在跟踪的字符串数据。每个用户将有 1000 行,当我选择它们时,我想按照添加的顺序返回它们。以下代码是执行此操作的必要且正确的方法吗:

CREATE TABLE foo (
  username TEXT PRIMARY KEY,
  col1 TEXT,
  col2 TEXT,
  ...
  order_id INTEGER NOT NULL
);

CREATE INDEX foo_order_index ON foo(order_id);

SELECT * FROM foo where username = 'bar' ORDER BY order_id;

最佳答案

添加 DateAdded 字段,并将其默认为添加行的日期/时间,并根据该日期/时间进行排序。

如果你绝对必须使用 order_ID,我不建议这样做。那么至少让它成为一个身份列。我建议不要这样做的原因是因为您依赖副作用来进行排序,这将使您的代码更难以阅读。

关于SQLite:排序我的选择结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9028415/

相关文章:

sqlite - 当 py.test 静默挂起时该怎么办?

python - python sqlite3库是否需要安装sqlite?

sql - 如何使用SQLite将值列表查询到行的列中?

sql - 查询数据库中有共同标签的地点

android - 由于每次启动时创建数据库而导致应用程序崩溃

PHPUnit 似乎没有运行 Laravel 迁移

ios - 复制了 CoreData sqlite3 文件,但复制不显示任何表格

SQLite select where 列不包含某些数据

python - 如何使主键自动增量为 0001、0002、0003 而不是 1、2、3?

android - 如何从 SQLite 中获取记录的总数