我有一个名为Keyword的域类,我需要根据某些条件运行查询以获取系统中所有重复的关键字。 MySQL中的查询是这样的:
select keywordid, md5, match_type, count(md5)
from keyword
where site_id = 'MLU'
and customer_id = 1075613440
group by md5
having count(md5) > 1;
现在我需要将此查询“翻译”为Grails,但我老板的要求是避免使用HQL。 有可能吗?
现在我所拥有的就是:
def dupKws = criteria.list {
eq('siteId', siteId)
eq('customerId', account.customerId)
projections {
groupProperty('md5')
groupProperty('matchType')
rowCount()
}
}
答案 0 :(得分:1)
您可以使用以下命令在Grails中运行此查询:
import groovy.sql.Sql
def query = """ select keywordid, md5, match_type, count(md5)\
from keyword\
where site_id = 'MLU'\
and customer_id = 1075613440\
group by md5\
having count(md5) > 1 """
Sql sql = new Sql(datasource)
sql.execute(query)