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 小时前
oracle导出 导入
数据库·oracle
韩立学长3 小时前
基于Springboot的旧时月历史论坛4099k6s9(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
TDengine (老段)4 小时前
TDengine 字符串函数 CONCAT_WS 用户手册
android·大数据·数据库·时序数据库·tdengine·涛思数据
IT 小阿姨(数据库)5 小时前
PostgreSQL 之上的开源时序数据库 TimescaleDB 详解
运维·数据库·sql·postgresql·开源·centos·时序数据库
sadandbad6 小时前
[vulhub靶机通关]DC-2(rbash绕过_git提权)
网络·sql·web安全·网络安全
熊文豪6 小时前
openEuler 云原生实战:部署高性能 Redis 集群与压测分析
数据库·redis·云原生·openeuler
GTgiantech6 小时前
科普SFP 封装光模块教程
服务器·网络·数据库
深圳市恒讯科技6 小时前
如何在服务器上安装和配置数据库(如MySQL)?
服务器·数据库·mysql
言之。6 小时前
TiDB分布式数据库技术架构概述
数据库·分布式·tidb
万事大吉CC7 小时前
SQL表设计与约束教程
数据库·sql