我想进行如下查询:
SELECT count(DISTINCT mobile)
FROM qa_account.customer_contact
WHERE customer_id=10001;
在crudRepository中但获得包含重复的总计数。 我不想写一个原生查询。
请给我一些方法来达到我的要求。
答案 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