Рассчитывать и группировать с помощью 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)