在spring应用程序中,不同的移动计数在crudRepository中不起作用

时间:2018-05-18 07:02:46

标签: mysql spring spring-boot spring-data spring-data-jpa

我想进行如下查询:

SELECT count(DISTINCT mobile) 
FROM qa_account.customer_contact 
WHERE customer_id=10001;
在crudRepository中

但获得包含重复的总计数。 我不想写一个原生查询。

请给我一些方法来达到我的要求。

1 个答案:

答案 0 :(得分:1)

如果要对整个SQL行进行DISTINCT,可以执行类似

的操作
// Spring Data allows you to specify the entity you want to distinct after the word "Distinct"
List<CustomerContact> findDistinctMobileByCustomerId();

// Or before the word "Distinct"
List<CustomerContact> findMobileDistinctByCustomerId();

如何获得计数

List<CustomerContact> listCustomerContact = yourRepository.findDistinctMobileByCustomerId(10001)
listCustomerContact.size();

我假设你有这样的数据

CUSTOMER_ID MOBILE

10001 ________ A

10001 ________ A

10001 ________ B

10001 ________ C

结果输出计数不同mobile = 3

有关此内容的更多信息,您可以查看Spring Data Documentation