Найти в Дзене
Илья Хохлов

Собеседование по SQL: 4 способа подсчитать количество определённой буквы в слове

Нужно решить задачу на собеседовании разными способами: посчитать сколько раз встречается определённая буква в слове или фразе.

Способ 1: Узнать на сколько символов уменьшится длина слова, если функцией REPLACE удалить все вхождения этой буквы из него:

-2

Это и другие решения будут на примере СУБД ORACLE. На самом деле способов решения подобных задач куда больше, но пока ограничимся четырьмя.

Способ 2: Представить слово как таблицу из одного столбца из его букв, и функцией COUNT подсчитать количество нужной буквы. Вначале напишем запрос, который делал бы таблицу из букв слова:

-3

Теперь напишем SELECT из этой полученной таблицы. Подсчитаем сколько строчек с нужной буквой:

-4

Способ 3: Развернуть слово из строки в столбец по аналогии с предыдущим решением, и с помощью PIVOT подсчитать количество строк с нужной буквой:

-5

Можно даже подсчитать количество вхождений каждой буквы из которых состоит слово или фраза:

-6

Способ 4: Использовать регулярные выражения:

-7

Последний способ оказался совсем простой, да? На практике я стараюсь не пользоваться регулярными выражениями, так как производительность такого кода значительно ниже, особенно на больших объёмах данных.

Изучение чужого кода позволяет открывать новые возможности языка. Помогает узнавать новые функции и способы их применения.

Буду рад лайку, если понравилась статья! И заходи на мой Телеграм канал. Сюда регулярно выкладываю новые задачи с собеседований по SQL и решаем реальные практические задачи!