源生sql语句没有问题 用yii2 的活动记录 groupby 加count 有问题 [ 2.0 版本 ]
sql语句
yii2 写法
$today_study_count = DbTodayStudy::find()
->orWhere(['user_id' => $params['user_id']])
->orWhere(['phone_oauth' => $params['phone_oauth']])
->andWhere(['>','create_time',$start_time])
->andWhere(['<','create_time',$end_time])
->groupBy(['day_num'])
->orderBy(['day_num' => SORT_DESC])
->limit(1)
->count('day_num');
请忽略create_time1的这个报错 是我故意把字段写错 主要是sql语句 出来一个子查询了 而且结果也是错误的
我把后面的count换成all的话 语句就没有问题
哪位大神给我说说什么情况 在线等
最后修改成的写法 能正确
$today_study_count = DbTodayStudy::find()
->select('count(*)')
->orWhere(['user_id' => $params['user_id']])
->orWhere(['phone_oauth' => $params['phone_oauth']])
->andWhere(['>','create_time',$start_time])
->andWhere(['<','create_time',$end_time])
->groupBy(['day_num'])
->orderBy(['day_num' => SORT_DESC])
->limit(1)
->scalar();
共 2 个回答
-
-
qqa4560354 回答于 2017-11-06 13:53 举报
加上要查询的具体字段,count(day_num) as number
共 1 条回复qqa4560354 回复于 2017-11-06 13:54 回复$model=(new \yii\db\Query())
->select('seek_id,sos_type_id,title,imgs,lose_pick_time,sos_lng,sos_lat,pet_imgs,user.grade,user.foster,user.officer') ->addSelect(["(POWER(MOD(ABS(sos_lng - ".$lng."),360),2) + POWER(ABS(sos_lng - ".$lat."),2)) AS distance"]) ->from('sos') ->where('lng is not null') ->andWhere(['sos.is_show'=>1]) ->leftJoin('user','user.id=sos.create_user_id') ->orderBy(['distance'=>SORT_ASC]) ->orderBy(['lose_pick_time'=>SORT_DESC]) ->limit(10) ->all();
jayrui612
注册时间:2017-03-24
最后登录:2019-05-27
在线时长:42小时30分
最后登录:2019-05-27
在线时长:42小时30分
- 粉丝12
- 金钱3845
- 威望170
- 积分5965