РІЗНА в PostgreSQL: вибір, порядок і обмеження (приклади)
⚡ Розумний підсумок
РІЗНА в PostgreSQL використовується з інструкцією SELECT для видалення дублікатів рядків та повернення лише унікальних значень. Вона охоплює синтаксис SELECT, оболонку SQL та pgAdmin, DISTINCT для одного та кількох стовпців, а також порівняння DISTINCT та GROUP BY.
Ви можете отримати дані з таблиці за допомогою оператора SELECT.
Синтаксис:
SELECT [column names] FROM [table_name]
Тут,
- назви стовпців: Імена стовпців, значення яких потрібно отримати.
- ВІД: Речення FROM визначає одну або декілька вихідних таблиць для SELECT.
- table_name: Ім'я існуючої таблиці, до якої потрібно зробити запит.
Що таке DISTINCT у PostgreSQL?
Команда DISTINCT пункт у PostgreSQL використовується з інструкцією SELECT для видалення дублікатів рядків з результуючого набору. Якщо стовпець містить повторювані значення, інструкція SELECT DISTINCT повертає лише унікальні значення, зберігаючиping окремий рядок для кожної групи дублікатів. Це корисно, коли вам потрібен список окремих записів, таких як унікальні міста клієнтів або категорії продуктів, без повторень.
Функція DISTINCT обчислює всі стовпці, перелічені в операторі SELECT, щоб визначити, чи є рядок унікальним. PostgreSQL також надає DISTINCT ON, який повертає перший рядок для кожного унікального значення заданого виразу. Ви можете поєднувати DISTINCT з ORDER BY, щоб контролювати, які рядки відображаються, та з LIMIT, щоб обмежити кількість результатів.
PostgreSQL Виберіть Інструкція в SQL Shell
Крок 1) У нас є таблиця «tutorials» з двома стовпцями: «id» та «tutorial_name». Давайте зробимо до неї запит. Використаємо наступний запит для виведення даних у таблиці:
SELECT id,tutorial_name FROM tutorials;
ПРИМІТКА: Використайте команду \c для підключення до бази даних, яка містить таблицю, до якої потрібно зробити запит. У нашому випадку ми підключені до бази даних guru99.
Крок 2) Якщо ви хочете переглянути всі стовпці в певній таблиці, можна використовувати символ підстановки зірочкою (*). Це означає, що програма перевіряє всі можливі значення і, як результат, повертає кожен стовпець.
SELECT * FROM tutorials;
Він відображає всі записи таблиці навчальних посібників.
Крок 3) Ви можете використовувати речення ORDER, щоб сортувати дані в таблиці на основі певного стовпця. Речення ORDER організовує дані в порядку від А до Я.
SELECT * FROM tutorials ORDER BY id;
Ви можете сортувати від Я до А, використовуючи «DESC» після оператора «ORDER BY».
SELECT * FROM tutorials ORDER BY id DESC;
Крок 4) SELECT DISTINCT у PostgreSQL речення можна використовувати для видалення повторюваних рядків із результату. Він зберігає один рядок для кожної групи дублікатів.
Syntax: SELECT DISTINCT column_1 FROM table_name;
Давайте запитаємо значення Postgres Select Distinct id з наших навчальних посібників з таблиць, використовуючи запити Distinct у PostgreSQL:
SELECT DISTINCT(id) FROM tutorials;
Крок 5) Ви можете використовувати PostgreSQL Речення LIMIT для обмеження кількості записів, що повертаються запитом SELECT.
SELECT * FROM tutorials LIMIT 4;
PostgreSQL Вибір оператора в pgAdmin
Крок 1) У дереві об'єктів:
- Клацніть правою кнопкою миші на таблиці.
- Виберіть Скрипти.
- Натисніть кнопку ВИБРАТИ СКРИПТ.
Крок 2) На панелі праворуч:
- За потреби відредагуйте запит SELECT.
- Натисніть на значок блискавки.
- Спостерігайте за результатом.
DISTINCT для кількох стовпців
Речення SELECT DISTINCT також може застосовуватися до кількох стовпців. Якщо після DISTINCT перераховано кілька стовпців, PostgreSQL обробляє комбінацію цих стовпців як єдине ціле та видаляє рядки, де вся ця комбінація дублюється.
Syntax: SELECT DISTINCT column_1, column_2 FROM table_name;
Наприклад, щоб повернути унікальні комбінації tutorial_name та id з таблиці tutorials:
SELECT DISTINCT tutorial_name, id FROM tutorials;
У цьому випадку рядок видаляється лише тоді, коли і ім'я_туторіала, і id збігаються з іншим рядком. Якщо два рядки мають однакове ім'я_туторіала, але різні значення id, обидва зберігаються, оскільки комбінація все ще унікальна. Важливо пам'ятати про таку поведінку: DISTINCT не видаляє дублікати одного стовпця, коли вибрано кілька стовпців; він видаляє дублікати всього набору вибраних стовпців разом.
DISTINCT проти GROUP BY у PostgreSQL
Як DISTINCT, так і GROUP BY можуть видаляти дублікати значень, але вони служать різним цілям:
- DISTINCT просто повертає унікальні рядки з результату та найкраще підходить, коли вам потрібен лише список без дублікатів.
- GROUP BY групує рядки, що мають спільне значення, щоб ви могли застосовувати агрегатні функції, такі як COUNT, SUM або AVG кожній групі.
Наприклад, два запити нижче повертають унікальні значення ідентифікатора:
SELECT DISTINCT id FROM tutorials; SELECT id FROM tutorials GROUP BY id;
Використовуйте DISTINCT для простого списку унікальних значень, а GROUP BY – коли вам також потрібне обчислення для кожної групи, наприклад, підрахунок кількості навчальних посібників з одним ідентифікатором. У простих запитах планувальник часто забезпечує подібну продуктивність для обох, але GROUP BY потрібен щоразу, коли використовується агрегація.
Чит лист
SELECT [column names] FROM [table_name] [clause]
Ось різні параметри:
- назви стовпців: Імена стовпців, значення яких потрібно отримати.
- ВІД: Речення FROM визначає одну або декілька вихідних таблиць для SELECT.
- table_name: Ім'я існуючої таблиці, до якої потрібно зробити запит.
Різні пункти:
| Команди | Опис |
|---|---|
| * | Отримує записи для всіх рядків таблиці. |
| DISTINCT | РІЗНА в PostgreSQL допомагає видалити дублікати з результату. |
| СОРТУВАТИ ЗА | Сортує рядки на основі стовпця. Порядок сортування за замовчуванням – за зростанням. Використовуйте ключове слово DESC для сортування за спаданням. |
| МЕЖА | ОБМЕЖЕННЯ в PostgreSQL обмежує кількість записів, які повертає запит. |









