我有以下代码片段:

UserDataModel
                .find {
                    UserDataTable.type eq type and (
                            UserDataTable.userId eq userId
                            )
                }
                .limit(count)
                .sortedByDescending { it.timestamp }
sortedByDescending是Kotlin Collections API的一部分。我主要关心的是:如果选择查询看起来像这样并且不包含ORDER BY子句,则暴露的lib如何返回表中的顶部(根据时间戳)的count行?
SELECT USERDATA.ID, USERDATA.USER_ID, USERDATA.TYPE,
USERDATA.PAYLOAD, USERDATA."TIMESTAMP"
FROM USERDATA
WHERE USERDATA.TYPE = 'testType'
and USERDATA.USER_ID = 'mockUser'
LIMIT 4

而且对于相同的数据,有时返回的结果可能会有所不同吗?

真是在这里挣扎。先感谢您。

最佳答案

您已在执行查询后对结果进行排序。

您需要使用docs中所述的orderBy方法

UserDataModel
  .find {
    UserDataTable.type eq type and (UserDataTable.userId eq userId)
  }
  .limit(count)
  .orderBy(UserDataTable.timestamp to SortOrder.DESC)

10-07 19:47
查看更多