SQL 如何提取多级分类目录

前言

POI数据处理,原始数据为csv格式,整理入库至PostGreSQL,本例使用PostGreSQL13版本。

一、POI

POI(一般作为Point of Interest的缩写,也有Point of Information的说法),通常称作兴趣点,泛指互联网电子地图中的点类数据,基本包含名称、地址、坐标、类别四个属性;源于基础测绘成果DLG(Digital Line Graphic,数字线划地图)产品中点类地图要素矢量数据集;在GIS(Geographic Information System,地理信息系统)中指可以抽象成点进行管理、分析和计算的对象。

二、数据介绍

样例数据

现有全国POI数据8000多万条数据,如下图

分类提取

现要提取一二级分类目录,SQL语句如下:

sql 复制代码
select type1 ,type2 from china_poi.china_poi_v2 group by type1,type2 order by type1,type2 ;

查询结果如下所示:


优化SQL语句

查询全表数据,效率很低,增加WHERE pcode = 110000(北京市),以便提高效率

sql 复制代码
-- 查询全表数据,效率很低,增加WHERE pcode = 110000(北京市),以便提高效率
select type1 ,type2 from china_poi.china_poi_v2 WHERE pcode = 110000 group by type1,type2 order by type1,type2 ;

提取结果至另一张表

将以上查询结果保存至china_poi.tb_ClassInfo表中,对应SQL语句如下:

sql 复制代码
SELECT * into china_poi.tb_ClassInfo FROM (select type1 ,type2 from china_poi.china_poi_v2 WHERE pcode = 110000 group by type1,type2 order by type1,type2 ) as t1;

结果

china_poi.tb_ClassInfo表中数据如下

相关推荐
~远在太平洋~1 分钟前
Linux 基础命令
linux·服务器·数据库
小马爱打代码13 分钟前
MySQL性能优化核心:InnoDB Buffer Pool 详解
数据库·mysql·性能优化
OceanBase数据库官方博客32 分钟前
解析 OceanBase 生态工具链 —— OAT / obd / OCP / obshell
数据库·oceanbase·分布式数据库
Blockbuater_drug34 分钟前
Peptide-Tools: 阿斯利康开源工具用于多肽性质预测-多肽等电点
数据库·pl·pichemist·peptide-tools·阿斯利康·多肽理化性质·等电点
数字护盾(和中)37 分钟前
BAS+ATT&CK:企业主动防御的黄金组合
服务器·网络·数据库
micro_xx43 分钟前
Matlab 有限元分析三维悬臂梁变形
前端·数据库·matlab
TTc_44 分钟前
oracle中的union和union all有什么区别?
数据库·oracle
cowboy2581 小时前
mysql5.7及以下版本查询所有后代值(包括本身)
数据库·sql
web3.08889991 小时前
获得某红书笔记评论说明-item_review
服务器·前端·数据库
风流 少年1 小时前
mysql mcp
数据库·mysql·adb