Рассчитывать и группировать с помощью ExcecuteQuery

Как получить число с группой по ActivationDate?

я пробовал этот запрос

def mapQuery6= new HashMap()

def query6 = "SELECT count(al.id) as totalCount,al.activationDate from Card al where and TO_DAYS(al.activationDate) > TO_DAYS(:from) and TO_DAYS(al.activationDate) <= TO_DAYS(:to) GROUP BY al.activationDate "

mapQuery6.from = params.from
def to = new Date().parse('dd/MM/yyyy HH:mm:ss', params.to+ " 05:00:00")
to.setDate(to.getDate() + 1)

mapQuery6.to = to

println "query 6 = "+query6 

def activecard = Card.executeQuery(query6,mapQuery6)[0] 

println "activecard = "+activecard

я хочу такой результат

если я использую Group by al.activationDate результат, когда я напечатал

activecard = [1, 2014-06-17 20:27:11.0]

а если без group by al.activationDate результат был

activecard = [6, 2014-06-27 20:27:11.0]

так что я хочу каждый месяц получать число отсчетов.. пример 2014-07-xx имеет 3 отсчета, 2014-06-xx 2 и только 2014-05-xx 1

1 ответ

Решение

Попробуйте сгруппировать по месяцам как

GROUP BY MONTH(al.activationDate)
Другие вопросы по тегам