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