Android SQLite:按多列排序

时间:2015-02-18 10:09:14

标签: android sqlite

TABLE_NAME(COL1,COL2,COL3,COL4);

     Cursor cur = db.query(TABLE_NAME, null, null, null, null, null, COL1);

这样我们就可以获得按COL1值排序的条目。如果其中一些具有相同的COL1值,则SQLite使用与先前插入存储时相同的顺序。

是否可以定义多个排序度?例如,如果两个或多个条目具有相同的COL1值,则具有较小COL2值的条目将首先出现,依此类推。

Android网站说我们只能为排序指定一个String(列)。

query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy)

如果我使用

 db.rawQuery("sql code") 

sql代码字符串将在运行时编译,因此程序将变慢。如果没有必要,我想避免这样做。还有其他方法吗?

1 个答案:

答案 0 :(得分:1)

使用String orderBy,您可以指定多个列:

String order = COL1 + ", " +COL2 + ", " + COL3;
Cursor cur = db.query(TABLE_NAME, null, null, null, null, null, order);