求解:MySQL关于group by问题

我看好多地方都有说到,查询时用到group by,那么select查询字段要么出现在group by语句中,要么被包含在聚合函数中,未在这两个地方提到的列名会产生错误。下面代码中sid没有出现在这两个地方,但是在执行时候没有报错。。这是为什么?
SELECT
a_id,sid,
MAX(price) AS price
FROM
goods
WHERE
(class_id IN(3, 18, 38))
GROUP BY
a_id
LIMIT 100

mysql这里的处理方式有点不同,都会返回第一条匹配的记录

这儿没报错,那你的goods表中应该是有sid这个字段的