我想在yii查询中使用标准->组,但是它会产生错误,例如
CDbCommand failed to execute the SQL statement: SQLSTATE[42S21]目前我使用的是:
$criteria->group = 'reg.user_first_name';
$criteria->order = 't.inout_time';当我只使用订单时,它的工作原理如下:
SELECT `t`.`attendant_id`, `t`.`user_id` FROM `attendance_master` `t`
LEFT JOIN registration_master reg on reg.ai_sync_id = t.user_id
WHERE (((t.well_master_id=:ycp0) AND (t.status=:ycp1)) AND (t.user_type_id=:ycp2)) AND (t.inout_time LIKE :time)
ORDER BY t.inout_time LIMIT 10.
Bound with :ycp0='1429082167', :ycp1='in', :ycp2='2', :time='2015-05-06%'但是,当我按条件添加组时,会出现以下错误:
1060 Duplicate column name 'ai_sync_id'. The SQL statement executed was:
SELECT COUNT(*) FROM (SELECT * FROM `attendance_master` `t`
LEFT JOIN registration_master reg on reg.ai_sync_id = t.user_id
WHERE (((t.well_master_id=:ycp0) AND (t.status=:ycp1)) AND (t.user_type_id=:ycp2)) AND (t.inout_time LIKE :time)
GROUP BY reg.user_first_name) sq.
Bound with :ycp0='1429082167', :ycp1='in', :ycp2='2', :time='2015-05-06%'我知道这是一个小问题,但我找不到,因为我是新来的依伊。
发布于 2015-05-06 13:28:21
当reg.user_first_name组字段必须在结果集中时,不能按SELECT t.attendant_id, t.user_id FROM ...分组。
所以试着:
SELECT `t`.`attendant_id`, `t`.`user_id`, reg.user_first_name FROM如果您执行GROUP BY,通常应该使用任何聚合函数(SUM、COUNT、MAX .)。
https://stackoverflow.com/questions/30078118
复制相似问题