SQL一些常用操作

2023-12-16 06:16:58

1. 分组统计

根据 h3_index进行分组统计,计算分组内order_id的数量,并将列名重命名为cha_cnt;计算分组内total_power的总和,并将列名重命名为cha_power;对分组内的vid进行去重,并统计去重后分组内vid的数量,并将列名重命名为ev_cnt

select h3_index, count(order_id) as cha_cnt, sum(total_power) as cha_power, count(distinct vid) as ev_cnt
from data_charge
group by h3_index;

将查询结果保存到已经创建好的数据表data_charge_1中。

insert into data_charge_1
select h3_index, count(order_id) as cha_cnt, sum(total_power) as cha_power, count(distinct vid) as ev_cnt
from data_charge
group by h3_index;



行转列

根据h3_index进行分组统计,将列cat1中的数据作为列名(就是下面这些文字部分),然后统计每个分组内这些特征的数量。

select 
	h3_index,
	sum(case when cat1='汽车服务' then 1 else 0 end) '汽车服务',
	sum(case when cat1='购物服务' then 1 else 0 end) '购物服务',
	sum(case when cat1='商务住宅' then 1 else 0 end) '商务住宅',
	sum(case when cat1='生活服务' then 1 else 0 end) '生活服务',
	sum(case when cat1='医疗保健服务' then 1 else 0 end) '医疗保健服务',
	sum(case when cat1='风景名胜' then 1 else 0 end) '风景名胜',
	sum(case when cat1='政府机构及社会团体' then 1 else 0 end) '政府机构及社会团体',
	sum(case when cat1='交通设施服务' then 1 else 0 end) '交通设施服务',
	sum(case when cat1='地名地址信息' then 1 else 0 end) '地名地址信息',
	sum(case when cat1='道路附属设施' then 1 else 0 end) '道路附属设施',
	sum(case when cat1='科教文化服务' then 1 else 0 end) '科教文化服务',
	sum(case when cat1='体育休闲服务' then 1 else 0 end) '体育休闲服务',
	sum(case when cat1='公司企业' then 1 else 0 end) '公司企业',
	sum(case when cat1='金融保险服务' then 1 else 0 end) '金融保险服务',
	sum(case when cat1='餐饮服务' then 1 else 0 end) '餐饮服务',
	sum(case when cat1='住宿服务' then 1 else 0 end) '住宿服务'
from data_poi
group by h3_index

类似地,将查询结果保存到已经创建好的数据表data_poi_1中。

insert into algorithm_data.data_poi_1
select 
	h3_index,
	sum(case when cat1='汽车服务' then 1 else 0 end) '汽车服务',
	sum(case when cat1='购物服务' then 1 else 0 end) '购物服务',
	sum(case when cat1='商务住宅' then 1 else 0 end) '商务住宅',
	sum(case when cat1='生活服务' then 1 else 0 end) '生活服务',
	sum(case when cat1='医疗保健服务' then 1 else 0 end) '医疗保健服务',
	sum(case when cat1='风景名胜' then 1 else 0 end) '风景名胜',
	sum(case when cat1='政府机构及社会团体' then 1 else 0 end) '政府机构及社会团体',
	sum(case when cat1='交通设施服务' then 1 else 0 end) '交通设施服务',
	sum(case when cat1='地名地址信息' then 1 else 0 end) '地名地址信息',
	sum(case when cat1='道路附属设施' then 1 else 0 end) '道路附属设施',
	sum(case when cat1='科教文化服务' then 1 else 0 end) '科教文化服务',
	sum(case when cat1='体育休闲服务' then 1 else 0 end) '体育休闲服务',
	sum(case when cat1='公司企业' then 1 else 0 end) '公司企业',
	sum(case when cat1='金融保险服务' then 1 else 0 end) '金融保险服务',
	sum(case when cat1='餐饮服务' then 1 else 0 end) '餐饮服务',
	sum(case when cat1='住宿服务' then 1 else 0 end) '住宿服务'
from data_poi
group by h3_index

文章来源:https://blog.csdn.net/qq_42757191/article/details/134989145
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。