Запрос postgres для отдельных подстрок - PullRequest
0 голосов
/ 16 октября 2018

У меня есть унаследованная таблица с 120k строк, включая имена файлов.В именах файлов реплицируется примерно 12 000 подстрок.Имена файлов именуются в соответствии со странным соглашением об именах, но все они основаны на одной и той же подстроке.Например, один из них может называться «apple-5pxl.mov», тогда как другой может быть «c-5pxl.mov», а другой может быть «76_5pxl.mov» ... в то время как другие могут быть «apple-234x.mov» и'76_234x.mov'

Как мне вернуть счетчик и список количества различных подстрок?В приведенном выше примере будет 2 (5xpl.mov и 234x.mov)

1 Ответ

0 голосов
/ 16 октября 2018

Я думаю, вы можете использовать substring() с аргументом шаблона:

select substring(filename from '[^-_]*$') as pat, count(*)
from t
group by pat;

Кажется, что шаблон - это что-то в конце строки, ограниченное дефисом или подчеркиванием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...