Ілюстрований самовчитель по postgresql> sql в postgresql> видалення дублікатів і ключове

Видалення дублікатів і ключове слово DISTINCT

Необов'язкове ключове слово DISTINCT виключає дублікати з підсумкового набору. Якщо ключове слово ON відсутня, з результатів запиту з ключовим словом DISTINCT виключаються записи з повторюваними значеннями цільових полів. Перевіряються лише поля, що входять до цільової список SELECT.

Лістинг 4.31. Ключове слово DISTINCT.

У другому запиті використана інша форма DISTINCT з явним перерахуванням полів (або виразів), що перевіряються на наявність дублікатів. У цьому випадку запит також повертає 13 записів, оскільки секція ON вказує, що дублікати перевіряються за значенням поля author_i d. Без секції ON запит верн) і б всі 15 записів, оскільки за замовчуванням PostgreSQL перевіряє повний збіг всіх полів.

У загальному випадку PostgreSQL вибирає записи, що виключаються з підсумкового набору при наявності секції ON, на свій розсуд. Якщо в запит разом з DISTINCT входить секція ORDER BY, ви можете самостійно задати порядок вибірки полів так, щоб потрібні записи виявилися на початку. Сортування записів розглядається в підрозділі "Сортування записів".

Якщо замість виключення всіх дублікатів досить згрупувати записи з повторюваними значеннями деякого критерію, скористайтеся секцією GROUP BY, описаної в підрозділі "Угруповання записів".

НАШІ ПРОЕКТИ

  • Навігатор в океані ароматів

Схожі статті