Vin*_*tis 7 java sql postgresql spring spring-data-jpa
我想在我的表中使用分页进行不同的选择,但它声称存在此错误。有谁知道如何解决它?
错误:
org.postgresql.util.PSQLException: ERROR:
for SELECT DISTINCT, ORDER BY expressions must appear in select list
Run Code Online (Sandbox Code Playgroud)
@Query(value = "SELECT DISTINCT budget.* FROM budget LEFT JOIN user_budget ON budget.id = user_budget.budget_id ORDER BY budget.created DESC, ?#{#pageable}",
countQuery = "SELECT DISTINCT count(*) FROM budget LEFT JOIN user_budget ON budget.id = user_budget.budget_id",
nativeQuery = true)
public Page<Budget> findAllByfilter(Pageable pageable);
Run Code Online (Sandbox Code Playgroud)
我知道这是一个老问题,但我想为正确的答案添加一些解释。问题更集中在 PostgreSQLDISTINCT ON子句上。
正如文档所说,
SELECT DISTINCT子句从结果(整个元组)中消除重复行。SELECT DISTINCT ON (your_column1, your_column2 ...)消除与所有指定表达式匹配的行(指定列对行进行排序并从结果集中删除重复项)。ORDER BY子句。DISTINCT ON子句与ORDER BY表达式一起使用,则最左边的ORDER BY表达式必须与表达式匹配DISTINCT ON。此答案中包含更多详细信息。
| 归档时间: |
|
| 查看次数: |
4096 次 |
| 最近记录: |