select * 之后使用group by 语句

请问为什么select * 之后无法抓出数据,看视频里就是这样写的。谢谢

img

SELECT * FROM DATA.data anlyst
group by city

group by 后只能查询group by 后面的字段或者是用聚合函数包含的字段

create table (
  id int,
  city varchar(50)
)
--例子
select city from table group by city 
--或者是
select city, max(id) from table group by city

建议改下表名称,表名称不要包含空格,然后直接这样查询就可以了。

SELECT * FROM dataanlyst group by city

把底下报错信息截下,group by不要换行写

你那个图显示已经报错了Error Code: 1055. 这是由于MySQL代码触发了sql_mode的only_full_group_by条件,解决方法
方法1.*号改成你想要的字段,并且把city字段也加上
方法2.去除only_full_group_by限制,修改mysql配置文件,去掉sql_mode中的only_full_group_by选项,如果匹配文件中没有sql_mode配置
在后面增加sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,保存重启mysql