Я хочу, чтобы результат, как этот запрос.
SELECT
book_id,
COUNT(member_id),
COUNT(if(returned = 1, 1, null))
...
В QueryDSL есть запрос «случай-когда», но это не то, что мне нужно.
Я не могу найти какие-либо способы использовать запрос COUNT IF.
Поэтому мне интересно Есть какие-либо способы использования запроса COUNT (), который использовал функцию COUNT IF в querydsl.
https://www.mysqltutorial.org/mysql-count/
JPQLQuery<?> countDto = getQueryDsl().createQuery()
.select(bookRental.bookId, bookRental.memberId.count(), bookRental.memberId.count(...)
.from(bookRental)
.where(bookId.in(bookIds))
.groupBy(bookRental.bookId);
Или я должен использовать CaseBuilder ()?
new CaseBuilder()
.when(bookRental.returned.eq(true))
.then(bookRental.memberId.count(1))
.otherwise(0)