如何使用 spring jpa 分页获取列中的不同值以及总计数
How to get the distinct values in a column as well as total count using spring jpa pagination
我正在尝试 select C 列的唯一值列表以及相应的计数。我的代码如下
@Query(value = "SELECT DISTINCT t.C FROM table t WHERE t.param = :param order by t.C",
countQuery = "SELECT count(DISTINCT t.C) FROM table t WHERE t.param = :param")
Page<String> findUniqueWithCountPagination(Pageable pageable,
@Param("param") String param);
我收到错误 ORDER BY items must appear in the select list if SELECT DISTINCT is specified
。当我启用 show-sql 属性 时,我注意到 Spring 自动将另一列 U 添加到 order by filter。 U 是 table t.
中的时间戳列
如何去掉order by中不需要的字段U?如果那不可能,是否有任何其他方法可以根据我的要求编写查询?
我只需要 C 列中的唯一值并且它很重要,所以我对 C 本身应用了排序并将其从查询中删除。 order by
在执行期间自动应用。代码片段如下:
Pageable pageable = PageRequest.of(filterOption.getPageNo(), filterOption.getPageSize(), Sort.Direction.DESC, C);
// repository class
@Query(value = "SELECT DISTINCT t.C FROM table t WHERE t.param = :param",
countQuery = "SELECT count(DISTINCT t.C) FROM table t WHERE t.param = :param")
Page<String> findUniqueWithCountPagination(Pageable pageable,
@Param("param") String param);
我正在尝试 select C 列的唯一值列表以及相应的计数。我的代码如下
@Query(value = "SELECT DISTINCT t.C FROM table t WHERE t.param = :param order by t.C",
countQuery = "SELECT count(DISTINCT t.C) FROM table t WHERE t.param = :param")
Page<String> findUniqueWithCountPagination(Pageable pageable,
@Param("param") String param);
我收到错误 ORDER BY items must appear in the select list if SELECT DISTINCT is specified
。当我启用 show-sql 属性 时,我注意到 Spring 自动将另一列 U 添加到 order by filter。 U 是 table t.
如何去掉order by中不需要的字段U?如果那不可能,是否有任何其他方法可以根据我的要求编写查询?
我只需要 C 列中的唯一值并且它很重要,所以我对 C 本身应用了排序并将其从查询中删除。 order by
在执行期间自动应用。代码片段如下:
Pageable pageable = PageRequest.of(filterOption.getPageNo(), filterOption.getPageSize(), Sort.Direction.DESC, C);
// repository class
@Query(value = "SELECT DISTINCT t.C FROM table t WHERE t.param = :param",
countQuery = "SELECT count(DISTINCT t.C) FROM table t WHERE t.param = :param")
Page<String> findUniqueWithCountPagination(Pageable pageable,
@Param("param") String param);