grails executeQuery in

27 篇文章 0 订阅
3 篇文章 0 订阅

grails的executeQuery跟hql的语法差不多,executeQuery与in一起使用:代码如下【说明 下面的是list的类型是:  List<Long>】

   String str="select prodId,sum(num),prodPrice from MikuMineBoxProduct where boxId in (:list)  group by prodId"
        def data=MikuMineBoxProduct.executeQuery(str,[list:list])


def getProdOnePeriodData(List<Long> boxIdList,List<Long> prodIdList,String flag){
        def data
        String str="select prodId,"
        if("day".equals(flag)){
            str+=" DATE_FORMAT(dateCreated,'%Y-%m-%d')"
        }else if("month".equals(flag)){
            str+=" DATE_FORMAT(dateCreated,'%Y-%m')"
        }
        str+=" ,sum(num) from MikuMineBoxProduct where boxId in (:boxIdList)  and prodId in (:prodIdList)  group by "
        if("day".equals(flag)){
            str+=" DATE_FORMAT(dateCreated,'%Y-%m-%d')"
        }else if("month".equals(flag)){
            str+=" DATE_FORMAT(dateCreated,'%Y-%m')"
        }
        data=MikuMineBoxProduct.executeQuery(str,[boxIdList:boxIdList,prodIdList:prodIdList])
        return data
    }

def getAllPeriodTime(String userId,String realId,String begin,String end,int sumflg){
        String str="select "
        if(!sumflg){
            str+= "DATE_FORMAT(dateCreated,'%Y-%m-%d'),"
        }
        str+="IFNULL(sum(price),0)/100," +
                "IFNULL(sum(case when "+dfSql+" then prepaidFee end),0)/100," +
                "IFNULL(sum(case when "+dfSql+" then price end),0)/100," +
                "IFNULL(sum(case when "+onlineSql+" then price end),0)/100," +
                "IFNULL(sum(case when "+failSql+" then price end),0)/100," +
                "IFNULL(sum(case when "+wxSql+" then price end),0)/100," +
                "IFNULL(sum(case when "+alipaySql+" then price end),0)/100," +
                "count(id)," +
                "count(case when "+failSql+" then id end)" +
                " from Trade where "+baseSql+" and dateCreated>='"+begin+"' and dateCreated<'"+end+"' "
        if (userId){
            str+="and wxNo="+userId
        }
        else if(realId){
            str+="and  pUserId="+Long.parseLong(realId)
        }
        if(!sumflg){
            str+=" group by DATE_FORMAT(dateCreated,'%Y-%m-%d')"
        }
        def list=Trade.executeQuery(str)
        println(list)
        return  list
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值