使用的正则表达式是regexp_extract。目的是保留中文地址,查看所使用数据地址脏乱的格式后,选择不要数字,只保留全是中文的部分。
(本文sql语句中文表名和字段名是写本文章为了读者更明白而变更的中文)
select "地址", regexp_extract("地址",'([^0-9]+)') from "地址表" where substring("日期",1,4)=2021
查看正则表达式后的地址结果相对来说可以接受,下一步想要对正则表达式后的结果进行分组。
select regexp_extract("地址",'([^0-9]+)') as a ,count(1) from "地址表" where substring(“日期”,1,4)=2021 group by regexp_extract(“地址”,'([^0-9]+)')
分组结果如下: