Data Science. SQL hub
35.8K subscribers
927 photos
52 videos
37 files
983 links
По всем вопросам- @workakkk

@itchannels_telegram - 🔥лучшие ит-каналы

@ai_machinelearning_big_data - Machine learning

@pythonl - Python

@pythonlbooks- python книги📚

@datascienceiot - ml книги📚

РКН: https://vk.cc/cIi9vo
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Продвинутый SQL-трюк: как найти строки, отличающиеся только одним символом

Иногда нужно найти пары строк, которые почти совпадают — например, из-за опечатки в одной букве. Такой кейс часто встречается при поиске дублей в именах, email или товарах.

С помощью функции levenshtein() из расширения pg_trgm в PostgreSQL, можно находить строки, отличающиеся ровно на 1 символ. Это удобно для очистки данных, поиска дублей и реализации "умного" поиска в интерфейсе.


-- Убедись, что pg_trgm расширение включено
CREATE EXTENSION IF NOT EXISTS pg_trgm;

-- Найдём строки из таблицы users, у которых name отличается на 1 символ
SELECT a.name AS name1, b.name AS name2
FROM users a
JOIN users b ON a.id < b.id
WHERE levenshtein(a.name, b.name) = 1;

-- Пример: найдёт пары вроде ('Anna', 'Anya') или ('John', 'Joan')


📌Больше видео

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥93👎1🥰1