如何在 sqlite android 中对行进行排序

How to sort rows in bunches in sqlite android

我正在开发 android 应用程序,它使用 Room ORM 进行数据库访问。 我有一个 table,它有 user_idusernameisManager。 我想从这个 table 查询并获取所有 user_ids。我想要这样的结果:

所有 isManager 为真的行都应该排在第一位,并且应该按 username 的字母顺序排序。 所有剩余的行都应该在下面,并且应该按 username.

的字母顺序排序

我该怎么做。我知道如何在一堆中排序。

您可以使用这样的查询。

@Query("SELECT * FROM " + TABLE_NAME + " ORDER BY " +COLUMN_1 +" DESC, 
"+COLUMN_2+" ASC”)
List<DataTable> getAllData();

您可以按 desc 的顺序对 isManager 列进行排序,以便所有 true 出现在最前面,并按 asc 的顺序对 username 列进行排序,以便数据同时按字母顺序排序。

@Query("SELECT * FROM " + TABLE_NAME + " ORDER BY " + isManager +" DESC, " + username + " ASC”)
List<UserTable> getAllUsers();