【问题标题】:Room (SQL) query to get results ordered by today first, tomorrow second and all the rest房间 (SQL) 查询以获取按今天第一、明天第二和所有其他顺序排序的结果
【发布时间】:2020-11-07 12:41:52
【问题描述】:

如何检索按以下顺序排序的结果:今天第一,明天第二,其余的都按 decs 顺序排列?我正在使用 Jetpack 的 Android 版 Room。到目前为止,我得到了这个SELECT * FROM LocalCreatedWorkout ORDER BY date ASC,但这个查询仅按升序对条目进行排序。

【问题讨论】:

  • 只要使用ORDER BY date DESC
  • 有些条目的日期较晚,然后是明天,我想要今天第一个,明天第二个,其余的都按 desc 顺序排列

标签: android sql android-room


【解决方案1】:

我猜你可以在ORDER BY 子句中使用CASE WHEN

ORDER BY CASE WHEN date(LocalCreatedWorkout) = date('now') THEN 1 
   WHEN date(LocalCreatedWorkout) = date('now','+1 day') THEN 2
   ELSE 3 END ASC, LocalCreatedWorkout DESC

【讨论】:

  • 谢谢。有效。我想知道我可以单独对每个案例进行排序吗?
  • 不确定我是否理解您的问题,您的意思是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-18
  • 2019-03-26
相关资源
最近更新 更多