我有两台机器,我试图在它们两个中运行下面提到的查询 .
SELECT
bdm.brand_id AS brandId,
bdm.brand_name AS brandName,
fse.seller_code AS dummySeller,
bdm.feed_source AS feedSource
FROM
`brand_distributor_mapping` bdm
JOIN
`feed_source` fse ON bdm.feed_source = fse.name
GROUP BY bdm.brand_id ,bdm.feed_source;
它在一台机器上工作,并在另一台机器上提供错误代码1055 .
两台机器的Mysql版本:
-
不工作 - mysql Ver 14.14使用EditLine包装器分发5.6.19,用于Linux(x86_64) .
-
Working - mysql Ver 14.14使用readline 6.3分发5.5.53,用于debian-linux-gnu(x86_64)
1 回答
它必须是
SQL_MODE
由default
设置为ONLY_FULL_GROUP_BY
.更好的是,您总是通过聚合在查询中练习完整的组 . 否则,虽然MySQL接受并检索基于
SQL_MODE
集的结果,但它们可能不正确 .您可能希望更改您的group by子句,如下所示:
参考:MySQL Documentation on ONLY_FULL_GROUP_BY