我是SQL新手,试图为PostgreSQL创建一个查询,处理以下情况:
- 我有一个字符串数据类型的列。
- 此列中的字符串最长可达11位数,但也有一些记录只包含6位或7位数,我只需要考虑这些记录。
- 在这两种情况下,我都需要找到最后一个数字,并计算这个数字的出现次数。例如,如果列上有值'BBB0123'和'AA123A',则数字'3'的计数将为2。
- 此外,具有7位数的记录具有以下结构:'BBB0123',其中最后一个数字位位于字符串的末尾。对于具有6位数的记录,结构如下:'AA123A',其中最后一个数字位位于字符串的倒数第二个位置。
我将非常感谢你能提供的任何帮助。
1条答案
按热度按时间0ve6wy6x1#
您可以使用
case expression
来提取适当的数字,然后使用计数 Package 查询。个字符
| ID2|计数|
| --|--|
| 1 | 1 |
| 3 | 3 |
| 6 | 2 |
View on DB Fiddle