Sql Group by和order by一起导致错误

Sql Group by和order by一起导致错误,sql,Sql,我有一个sql查询,其中我使用GROUPBY和ORDERBY,但它给出的错误不是GROUPBY表达式 select co.id , count(col.course_fk) from student co inner join course col on col.course_fk = co."ID" where (co.phone=:param) group by co.id ORDER BY co.create_date_time asc; 若我删除orderBy,

我有一个sql查询,其中我使用GROUPBY和ORDERBY,但它给出的错误不是GROUPBY表达式

select co.id , count(col.course_fk) from student co inner join 
course col on col.course_fk = co."ID" where (co.phone=:param)
group by co.id  ORDER BY co.create_date_time asc;

若我删除orderBy,那个么它运行良好并给出结果。我应该如何更改我的查询,以便可以同时使用order by和group by。

选择时,
中没有
order by
列。因此,使用聚合列。我可能猜:

select co.id, count(col.course_fk)
from student co inner join 
     course col
    on col.course_fk = co.ID
where co.phone = :param
group by co.id  
order by min(co.create_date_time) asc;
或将列包括在
分组依据中

select co.id, count(col.course_fk)
from student co inner join 
     course col
    on col.course_fk = co.ID
where co.phone = :param
group by co.id, co.create_date_time
order by co.create_date_time asc;

注意:如果将
course.id
定义为主键,则原始版本不会在MySQL中产生问题。

。我删除了不一致的数据库标记。请仅使用您真正使用的数据库进行标记。