我有以下代码段:
UserDataModel
.find {
UserDataTable.type eq type and (
UserDataTable.userId eq userId
)
}
.limit(count)
.sortedByDescending { it.timestamp }
sortedByDescending
是Kotlin Collections API的一部分。我主要关心的是:如果选择查询看起来像这样并且不包含ORDER,那么暴露的lib如何返回表中的 top (根据时间戳)count
行BY子句?
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
对于相同的数据,有时返回的结果可能会有所不同吗?
真的在这里挣扎。预先谢谢你。
答案 0 :(得分:4)
您正在对查询执行后的结果进行排序。
您需要使用docs中所述的orderBy
方法
UserDataModel
.find {
UserDataTable.type eq type and (UserDataTable.userId eq userId)
}
.limit(count)
.orderBy(UserDataTable.timestamp to SortOrder.DESC)