Модуль 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 вважаються одним значенням — згортаються в один рядок.

SELECT category category Electronics Electronics Clothing Electronics Clothing Home DISTINCT прибирає повториremoves duplicates quita duplicados SELECT DISTINCT category category Electronics Clothing Home

Твоя черга

Для меню сайту потрібні категорії, кожна по разу. Виведи список унікальних категорій.

Підсумок

  • DISTINCT повертає унікальні значення (зручно для списків категорій, міст, статусів тощо).
  • Усі NULL рахуються як одне значення.