postgresql - 使用 Postgresql,计算长度大于 5 的表中的连续数字
问题描述
Telephone_number
111111111
1111143452
000000000
888888888
5554038291
1111392012
9999999999
2324666666
所以从上面看,我只想让那些相同数字重复超过 5 次的记录。
输出计数应为 5。
解决方案
您可以使用带有重复反向引用的正则表达式。
with test (telephone_number) as
( values ('111111111')
, ('1111143452')
, ('000000000')
, ('888888888')
, ('5554038291')
, ('1111392012')
, ('9999999999')
, ('2324666666')
)
select telephone_number
from test
where telephone_number ~ '(\d)\1{5,}';
这确实取决于如何将列定义为数字或文本。如果是数字定义,那么您需要尝试转换为文本以使用正则表达式。见小提琴。
推荐阅读
- timer - 中断与任务、定时器中断、任务的关系
- google-sheets - 整个列的 Google 表格条件格式
- sql-server - 存在的机制
- python - 根据另一个具有不同大小python的列表替换nan的列表
- node.js - 从 API 正确返回 x-auth 令牌
- postgresql - 气流 psycopg2.OperationalError: FATAL: 抱歉,已经有太多客户
- javascript - 静态网站翻译问题
- java - Java:简单的客户端服务器消息交换不起作用
- ruby - 将设计模式与模块一起使用
- r - 我需要通过 R 检查数据输入...我如何验证它的格式是否正确