Java 如何使用多个排序键创建PagingQueryProvider?

Java 如何使用多个排序键创建PagingQueryProvider?,java,sql,spring,postgresql,spring-batch,Java,Sql,Spring,Postgresql,Spring Batch,我想使用PagingQueryProvider创建一个独特的on查询: 错误: ORDER BY items must appear in the select list if SELECT DISTINCT is specified 如果按照以下方式生成此查询,则该查询是可以的: SELECT DISTINCT ON(first, second) * FROM mytable ORDER BY first, second, third ASC; 但事实并非如此:我如何在这里实现正确的区分?

我想使用PagingQueryProvider创建一个独特的on查询:

错误:

ORDER BY items must appear in the select list if SELECT DISTINCT is specified
如果按照以下方式生成此查询,则该查询是可以的:

SELECT DISTINCT ON(first, second) * FROM mytable ORDER BY first, second, third ASC;
但事实并非如此:我如何在这里实现正确的区分?
奇怪的是:在pgAdmin中对DB运行最后一个查询时,一切正常。但是PagingQueryProvider创建的查询失败。

我不是Postgres专家,但你是说两个order by列必须是同一方向的,并且具有不同的顺序?例如,这不起作用?按第一个描述、第二个ASC从mytable ORDER中选择DISTINCT ONfirst、second*;ORDER BY first DESC,second ASC也不起作用,因为distinct的预期语法是first,second。
ORDER BY items must appear in the select list if SELECT DISTINCT is specified
SELECT DISTINCT ON(first, second) * FROM mytable ORDER BY first, second, third ASC;