在Sqlite中排序

时间:2016-07-28 08:03:58

标签: android sqlite

这是包含左连接的原始查询,并通过 STUDENT_NAME 使列表按升序排列。

我希望从外部将 ORDER BY STUDENT_DETAILS.STUDENT_NAME ASC 传递给此查询。 (我希望有时甚至是DESC)。

如何在原始查询中实现此功能?

first_n

1 个答案:

答案 0 :(得分:2)

只是根据您的需要进行查询

String addictionalState = "ASC";
if (something)
   addictionalState = "DESC";

cursor = db.rawQuery(
        "SELECT * FROM STUDENT LEFT JOIN STUDENT_DETAILS ON STUDENT.STUDENT_ID=STUDENT_DETAILS.STUDENT_ID WHERE STUDENT.START_DATE <= ? AND STUDENT.EXPIRED_DATE >= ? ORDER BY STUDENT_DETAILS.STUDENT_NAME "+addictionalState , 
        new String[]{date, date}
        );

或者您可以将结果传递给list / hashmap并根据需要进行排序。