Sqlite 按结果前两行的评级对评论进行排序,其余按日期排序?

Sqlite 按结果前两行的评级对评论进行排序,其余按日期排序?,sqlite,Sqlite,假设我有一个评论表,如下所示: --------------------------- | comment | date | rating | --------------------------- | a | 1 | 1 | --------------------------- | b | 4 | 3 | --------------------------- | c | 7 | 2 | ----------

假设我有一个评论表,如下所示:

---------------------------
| comment | date | rating |
---------------------------
| a       | 1    |      1 |
---------------------------
| b       | 4    |      3 |
---------------------------
| c       | 7    |      2 |
---------------------------
| d       | 1    |     10 |
---------------------------
| e       | 3    |     20 |
---------------------------
我想对表格进行排序,使评分最高的两条注释始终显示在结果的顶部,与日期无关,其余注释按日期降序排序。结果应该如下所示:

---------------------------
| comment | date | rating |
---------------------------
| e       | 3    |     20 |
---------------------------
| d       | 1    |     10 |
---------------------------
| c       | 7    |      2 |
---------------------------
| b       | 4    |      3 |
---------------------------
| a       | 1    |      1 |
---------------------------

这可能吗?

您可以执行两个SQL查询。第一个选择最高的两个命令

SELECT comment, date, rating FROM comments ORDER BY rating DESC Limit 2

然后你可以展示其他的,按日期排序。您不是在为comments表保存ID吗?如果是,您还可以在上面的查询中选择ID,然后在第二个查询中选择所有没有上一个查询ID的注释(按日期排序)

是的,每个评论都有唯一的id。问题是,我在Android上做这件事,所以如果我能用一个大的查询得到结果会更好,这是可能的还是我必须以某种方式合并你建议的结果?我很确定这是可能的,但是,这超出了我的能力,因为我是新来的,所以我想其他人需要在这方面帮助你。想想看,我可以在你提到的两个结果之间做一个简单的连接,这肯定会解决问题,所以我把这个标记为正确答案。