现有一张员工表,我想查询所有员工信息,并将这些信息按照地区来分组,sql要怎么写?
如表中数据为:
张三,四川,30岁
李四,北京,20岁
王五,四川,22岁
我想要得到
[
四川:{
张三,四川,30岁
王五,四川,22岁
}
北京:{
李四,北京,20岁
}
]
select 🌟 from 表 group by 地区字段
你这个格式像个json又不是json,这样输出出来,应用识别不了啊,而且你这分组啥都没做,直接一个select *查给应用,让应用自己做分组展示不好么?
下面这个是在mysql 8.0版本输出json信息
with t as(
select '张三' name,'四川' province ,'30岁' age union all
select '李四','北京','20岁' union all
select '王五','四川','22岁')
select json_objectagg(province,j) from (
select province,JSON_ARRAYAGG(json_object('name',name,'province',province,'age',age)) j from t group by province) x