Mysql 我的查询中的分组错误

Mysql 我的查询中的分组错误,mysql,sql,Mysql,Sql,我想知道是否有人能解释一下下面的错误。sql在本地运行良好,但我在远程收到以下错误 SQL查询: $inQ = " SELECT category.category_name, GROUP_CONCAT(subject.subjects SEPARATOR ', ') AS subjects FROM category INNER JOIN tutor_category_subject ON tutor_category_subject.category_id = ca

我想知道是否有人能解释一下下面的错误。sql在本地运行良好,但我在远程收到以下错误

SQL查询:

$inQ = "
    SELECT category.category_name, GROUP_CONCAT(subject.subjects SEPARATOR ', ') AS subjects
    FROM category 
    INNER JOIN tutor_category_subject ON tutor_category_subject.category_id = category.category_id
    INNER JOIN subject ON tutor_category_subject.subject_id = subject.subject_id
    WHERE tutor_category_subject.tutor_id = $tutorId AND tutor_category_subject.category_id = $categoryId
"; 
MySQL说:

#1140-如果没有GROUP BY子句,则在没有GROUP列的情况下混合GROUP列(MIN()、MAX()、COUNT()、…)是非法的


正如错误所说:如果没有GROUPBY子句,就不能混合group列和非group列。尝试添加一个:

SELECT category.category_name, GROUP_CONCAT(subject.subjects SEPARATOR ', ') AS subjects
FROM category 
INNER JOIN tutor_category_subject ON tutor_category_subject.category_id = category.category_id
INNER JOIN subject ON tutor_category_subject.subject_id = subject.subject_id
WHERE tutor_category_subject.tutor_id = $tutorId AND tutor_category_subject.category_id = $categoryId
GROUP BY category.category_name

我相信你想要这个:

SELECT category.category_name, GROUP_CONCAT(subject.subjects SEPARATOR ', ') AS subjects
FROM category 
  INNER JOIN tutor_category_subject ON tutor_category_subject.category_id = category.category_id
  INNER JOIN subject ON tutor_category_subject.subject_id = subject.subject_id
WHERE tutor_category_subject.tutor_id = $tutorId AND tutor_category_subject.category_id = $categoryId
GROUP BY category.category_name, subject.subjects
您需要添加
groupby
子句,以使您的select能够使用
GROUP\u CONCAT