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表中数据如下

相关推荐
JAVA学习通2 分钟前
数据库备份与恢复(2)
数据库
lhrimperial4 分钟前
MongoDB核心技术深度解析题
数据库·mongodb
宠..6 分钟前
为单选按钮绑定事件
运维·服务器·开发语言·数据库·c++·qt·microsoft
宠..11 分钟前
对单选按钮分组
开发语言·数据库·c++·qt·安全·安全性测试
Ashley_Amanda15 分钟前
SAP ABAP 开发全攻略:从核心编程到最佳实践
大数据·数据库·sql
黎相思20 分钟前
附录:SQLite介绍
数据库·sqlite
毕设十刻20 分钟前
基于Vue的新生入学报道管理系统(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
Vic1010122 分钟前
Redis防重复点击与分布式锁
java·数据库·redis·分布式
罗政36 分钟前
mybatis-plus插件解决sql报错:this is incompatible with sql_mode=only_full_group_by ”
数据库·sql·mybatis
leo_qiu_s38 分钟前
MERGE INTO语句
数据库