DISTINCT
Убирает дубликаты из результата запроса.
SELECT DISTINCT column1, column2 FROM table;Объяснение
Пример
-- Уникальные страны пользователей
SELECT DISTINCT country FROM users ORDER BY country;
-- COUNT уникальных
SELECT COUNT(DISTINCT user_id) AS unique_users FROM visits;Связанные термины
Анекдоты по теме
— Что такое lateral join? — Это когда правая часть JOIN может ссылаться на строки из левой. — Зачем? — Классика: для каждого пользователя — его последние 3 заказа. SELECT u.*, o.* FROM users u, LATERAL (SELECT * FROM orders WHERE user_id = u.id ORDER BY date DESC LIMIT 3) o;
Разработчик: — У меня запрос на 8 таблиц через JOIN, подзапросы, оконные функции внутри WHERE и GROUP BY на хэш с миллиардом строк. Он идёт 3 дня. Как оптимизировать? DBA: — TRUNCATE TABLE карьера_разработчика. И иди в менеджеры.
— Что такое bulk_create в Django? — Создаёт много объектов одним запросом. User.objects.bulk_create([User(name=n) for n in names]) — Вместо loop с .create()? — Да. 1000 объектов: loop = 1000 INSERT, bulk_create = 1 INSERT с 1000 строками. — Насколько быстрее? — В 10–50 раз.