这取决于 `SQL_MODE` 的设置,自 MySQL 5.7 开始,默认的 `SQL_MODE` 中启用了 `ONLY_FULL_GROUP_BY`,所以 select 后面的列必须出现在 group by 后面,但是你可以手动移除掉这个选项以禁用,禁用后就不再检查。 * [MySQL :: MySQL 5.7 Reference Manual :: 1.3 What Is New in MySQL 5.7](https://link.segmentfault.com/?enc=%2F4hAaih%2BHsB3pZnDg2y7wA%3D%3D.JtEl%2BKagqhuVAIYt145ioTs%2BpdZgfYecuHinN6jD4MPpLvz2uCBkjFIDRKpRRjS9KyTAKaMSdeZmENUfkddZpuYh4WYDwdUWvbNHFlNl8%2Bg%3D)