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

相关推荐
Live&&learn9 分钟前
Redis语法入门
数据库·redis
未羽出衫16 分钟前
DB-GPT本地模型+tuGragh安装使用
数据库·gpt
忧郁蓝调2618 分钟前
Redis不停机数据迁移:基于 redis-shake 的跨实例 / 跨集群同步方案
运维·数据库·redis·阿里云·缓存·云原生·paas
VekiSon21 分钟前
数据库——基础概念与 SQLite 实践
数据库·sqlite
点云SLAM23 分钟前
Boost中Graph模块中boost::edge_capacity和boost::edge_capacity_t
数据库·算法·edge·图论·最大团·最大流算法·boost库使用
五阿哥永琪24 分钟前
Redis的常用数据结构
数据结构·数据库·redis
猴子年华、31 分钟前
【每日一技】:SQL 常用函数实战速查表(函数 + 场景版)
java·数据库·sql·mysql
远方160932 分钟前
110-Oracle中核心业务的年度分区表建立
数据库·oracle·database
__风__35 分钟前
PostgreSQL 约束延迟触发
数据库·postgresql
月明长歌35 分钟前
MySQL数据库约束:把“能插入”升级成“插入就对”
数据库·mysql·oracle