在 kotlin 公开模型中,排序如何与限制一起使用?
How does sorting work with limit in kotlin exposed model?
我有以下代码片段:
UserDataModel
.find {
UserDataTable.type eq type and (
UserDataTable.userId eq userId
)
}
.limit(count)
.sortedByDescending { it.timestamp }
sortedByDescending
是 kotlin 集合的一部分 API。我主要关心的是:如何暴露 lib return top(根据时间戳)count
行来自 table 如果 select 查询看起来像这样并且不包含 ORDER 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
是否有可能有时或以某种方式 returned 结果对于相同的数据会有所不同?
这里真的很挣扎。提前谢谢你。
您正在在 查询执行后对结果进行排序。
您需要使用 orderBy
中描述的方法 docs
UserDataModel
.find {
UserDataTable.type eq type and (UserDataTable.userId eq userId)
}
.limit(count)
.orderBy(UserDataTable.timestamp to SortOrder.DESC)
我有以下代码片段:
UserDataModel
.find {
UserDataTable.type eq type and (
UserDataTable.userId eq userId
)
}
.limit(count)
.sortedByDescending { it.timestamp }
sortedByDescending
是 kotlin 集合的一部分 API。我主要关心的是:如何暴露 lib return top(根据时间戳)count
行来自 table 如果 select 查询看起来像这样并且不包含 ORDER 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
是否有可能有时或以某种方式 returned 结果对于相同的数据会有所不同?
这里真的很挣扎。提前谢谢你。
您正在在 查询执行后对结果进行排序。
您需要使用 orderBy
中描述的方法 docs
UserDataModel
.find {
UserDataTable.type eq type and (UserDataTable.userId eq userId)
}
.limit(count)
.orderBy(UserDataTable.timestamp to SortOrder.DESC)