1. select的选项必须都是被group by或者having后面的聚合函数所涉及的字段,而不可包含其他字段,这里涉及了
sql_mode = only_full_group_by模式;可以通过命令行查看或更改该属性:
查看sql_model参数命令:
SELECT @@GLOBAL.sql_mode;
SELECT @@SESSION.sql_mode;
set sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,
NO_ENGINE_SUBSTITUTION';
如果不得更改该参数,那么可以将group by得到的元素作为子查询,然后结合in关键字来获得其他字段:
(参考java3y),这个还能去重,而且涉及子查询的运用。
select * from user where id in(
select min(id) from user where name = 'Java3y' and pv = 20 and time='7-25' group by name,pv,time;
)