我有一个状态为的课程:
class A{
String status
}
此状态可以包含值'start','end','inprogress'。
我想在一个查询中获得'start','end'和'inprogress'的数量。
我看到这篇文章:Different record count values in one query但它只适用于Oracle。
是否可以在Grails / GORM中执行此操作?
感谢。
答案 0 :(得分:4)
您可以使用executeQuery
:
def counts = A.executeQuery(
'select status, count(status) from A group by status')
这将返回一个List of Object [],例如
for (row in counts) {
println "there are ${row[1]} with status '${row[0]}'"
}
答案 1 :(得分:2)
如果您喜欢条件查询,请查看以下内容: stackoverflow->Using groupProperty and countDistinct in Grails Criteria