Нужно решить задачу на собеседовании разными способами: посчитать сколько раз встречается определённая буква в слове или фразе.
Способ 1: Узнать на сколько символов уменьшится длина слова, если функцией REPLACE удалить все вхождения этой буквы из него:
Это и другие решения будут на примере СУБД ORACLE. На самом деле способов решения подобных задач куда больше, но пока ограничимся четырьмя.
Способ 2: Представить слово как таблицу из одного столбца из его букв, и функцией COUNT подсчитать количество нужной буквы. Вначале напишем запрос, который делал бы таблицу из букв слова:
Теперь напишем SELECT из этой полученной таблицы. Подсчитаем сколько строчек с нужной буквой:
Способ 3: Развернуть слово из строки в столбец по аналогии с предыдущим решением, и с помощью PIVOT подсчитать количество строк с нужной буквой:
Можно даже подсчитать количество вхождений каждой буквы из которых состоит слово или фраза:
Способ 4: Использовать регулярные выражения:
Последний способ оказался совсем простой, да? На практике я стараюсь не пользоваться регулярными выражениями, так как производительность такого кода значительно ниже, особенно на больших объёмах данных.
Изучение чужого кода позволяет открывать новые возможности языка. Помогает узнавать новые функции и способы их применения.
Буду рад лайку, если понравилась статья! И заходи на мой Телеграм канал. Сюда регулярно выкладываю новые задачи с собеседований по SQL и решаем реальные практические задачи!