【发布时间】:2017-09-07 11:46:11
【问题描述】:
如何通过where clause IN values 中提供的自定义输入列表对结果集进行排序。
以下是我在 SQL 中对 oracle 的查询:
SELECT col1, col2, avg(col3)
FROM table1
WHERE table1.col1 IN (12340417, 12340418, 12340419, 12340420)
GROUP BY col2, col1
ORDER BY col2, instr('12340417, 12340418, 12340419, 12340420', col1) ;
所以,基本上我在 querydsl(传递给 OrderSpecifier 的表达式)中寻找上面 instr 表达式的替换,例如:
new OrderSpecifier(this.sortOrder, expression)
还有其他方法可以通过querydsl中的自定义列表(12340417, 12340418, 12340419, 12340420)对结果集进行排序吗?
【问题讨论】:
标签: java sql oracle hibernate querydsl