Модуль 01 · урок 5
DISTINCT: прибираємо дублікати
Для меню сайту засновнику потрібен список категорій — кожна один раз. Але в таблиці категорія повторюється стільки разів, скільки в ній товарів.
Проблема дублікатів
У каталозі GadgetHub є два товари з назвою Cotton T-Shirt — різні партії, різні id, але назва однакова. Якщо вивести просто назви:
SELECT name
FROM products;
…то Cotton T-Shirt з'явиться у списку двічі. Для меню чи фільтра це зайве — потрібні унікальні значення.
DISTINCT
Ключове слово DISTINCT прибирає повторювані рядки, лишаючи тільки унікальні. Його ставлять одразу після SELECT:
SELECT DISTINCT name
FROM products;
Тепер Cotton T-Shirt — лише один рядок. Кілька деталей:
DISTINCTдіє на всю комбінацію перелічених стовпців (унікальною має бути вона ціла).- Усі
NULLвважаються одним значенням — згортаються в один рядок.
Твоя черга
Для меню сайту потрібні категорії, кожна по разу. Виведи список унікальних категорій.
Підсумок
DISTINCTповертає унікальні значення (зручно для списків категорій, міст, статусів тощо).- Усі
NULLрахуються як одне значення.