sql - 按字段部分分组
问题描述
我在 PostgreSQL 表中有一个字段name,格式如下:
JOHN^DOE
BILLY^SMITH
FIRL^GREGOIRE
NOEL^JOHN
等等。格式为LASTNAME^FIRSTNAME
. 该表具有ID, name, birthdate and sex
字段。如何GROUP BY
仅使用 FIRSTNAME 执行 SQL 语句?我已经尝试了几件事,我想regexp_match
可能是这样,但我不知道如何为此任务编写正确的正则表达式。你能帮助我吗 ?
解决方案
我会推荐split_part()
:
group by split_part(mycol, '^', 1)
麦考尔 | 拆分部分 :------------ | :--------- 约翰^美国能源部 | 约翰 比利^史密斯 | 比利 菲尔^格雷戈尔 | FIRL 诺尔^约翰 | 诺尔
推荐阅读
- python - 如何在 PyTorch 中使用矩阵运算计算前向传递?
- excel - 如何使用 excel VBA 将值从 SAP Tree View 复制到 Excel 工作表
- typescript - TypeScript 查询属性不存在
- python - 根据其他数据框从数据框中选择值
- python - Azure python sdk,如何部署一个 vm,它是一个 Azure Spot 实例
- react-native - 如何在本机反应中将参数与主体变量连接起来
- solr - SOLR:如何在 solr 查询中添加今天日期的记录
- javascript - 解决方案:管理 highchart 中组列之间的空间
- redirect - 我如何使用 GoDaddy 域进行重定向
- sql - Active Record 查询 YII2 中两个 id 之间的更新而不使用行查询