ОТЛИЧНЫЕ в PostgreSQL: выбрать, упорядочить и ограничить (примеры)

⚡ Умное резюме

ОТЛИЧНЫЕ в PostgreSQL Используется с оператором SELECT для удаления повторяющихся строк и возврата только уникальных значений. В нем рассматривается синтаксис SELECT, SQL Shell и pgAdmin, оператор DISTINCT для одного и нескольких столбцов, а также различия между DISTINCT и GROUP BY.

  • 🔎 ВЫБРАТЬ: Извлечение столбцов из таблицы с помощью запроса SELECT column FROM table.
  • 🧹 ОТЧЕТЛИВЫЙ: Удалите повторяющиеся строки и оставьте по одной строке для каждого уникального значения.
  • 🇧🇷 СОРТИРОВАТЬ ПО: Сортировка по умолчанию выполняется по возрастанию, или по убыванию с помощью команды DESC.
  • 🔢 LIMIT: Ограничьте количество записей, возвращаемых запросом.
  • 🖥️ Инструменты: Выполните те же запросы в SQL Shell или pgAdmin.

ОТЛИЧНЫЕ в PostgreSQL

Вы можете получить данные из таблицы с помощью оператора SELECT.

Синтаксис:

SELECT [column names] FROM [table_name]

Здесь,

  • Названия столбцов: Укажите названия столбцов, значения которых вы хотите получить.
  • ОТ: Предложение FROM определяет одну или несколько исходных таблиц для запроса SELECT.
  • имя_таблицы: Название существующей таблицы, к которой вы хотите обратиться с запросом.

Что является ОТЛИЧНЫМ в PostgreSQL?

DISTINCT пункт в PostgreSQL Используется с оператором SELECT для удаления повторяющихся строк из результирующего набора. Если столбец содержит повторяющиеся значения, SELECT DISTINCT возвращает только уникальные значения.ping Отдельная строка для каждой группы дубликатов. Это полезно, когда вам нужен список уникальных записей, например, уникальных городов клиентов или категорий товаров, без повторений.

Функция DISTINCT анализирует все столбцы, перечисленные в операторе SELECT, чтобы определить, является ли строка уникальной. PostgreSQL Также предусмотрена опция DISTINCT ON, которая возвращает первую строку для каждого уникального значения указанного выражения. Вы можете комбинировать DISTINCT с ORDER BY, чтобы контролировать, какие строки будут отображаться, и с LIMIT, чтобы ограничить количество результатов.

PostgreSQL Выберите оператор в оболочке SQL

Шаг 1) У нас есть таблица «tutorials» с двумя столбцами: «id» и «tutorial_name». Давайте сделаем запрос к ней. Используйте следующий запрос для вывода данных из таблицы:

SELECT id,tutorial_name FROM tutorials;

PostgreSQL Выберите оператор в оболочке SQL

ПРИМЕЧАНИЕ: Используйте команду \c для подключения к базе данных, содержащей таблицу, к которой вы хотите выполнить запрос. В нашем случае мы подключены к базе данных guru99.

Шаг 2) Если вы хотите просмотреть все столбцы в определенной таблице, можно использовать символ подстановки звездочкой (*). Это означает, что проверяются все возможные варианты, и в результате будут возвращены все столбцы.

SELECT * FROM tutorials;

PostgreSQL Выберите оператор в оболочке SQL

Он отображает все записи таблицы учебных пособий.

Шаг 3) Вы можете использовать предложение ORDER для сортировки данных в таблице по определенному столбцу. Предложение ORDER организует данные в порядке от А до Я.

SELECT * FROM tutorials ORDER BY id;

PostgreSQL Выберите оператор в оболочке SQL

Вы можете сортировать от Я до А, используя «DESC» после оператора «ORDER BY».

SELECT * FROM tutorials ORDER BY id DESC;

PostgreSQL Выберите оператор в оболочке SQL

Шаг 4) SELECT DISTINCT в PostgreSQL Предложение можно использовать для удаления повторяющихся строк из результата. Он сохраняет одну строку для каждой группы дубликатов.

Syntax:
SELECT DISTINCT column_1 FROM table_name;

Давайте выполним запрос к таблице PostgreSQL, выбрав уникальные значения идентификаторов из нашей таблицы, используя запросы с уникальными идентификаторами. PostgreSQL:

SELECT DISTINCT(id) FROM tutorials;

PostgreSQL Выберите оператор в оболочке SQL

Шаг 5) Вы можете использовать PostgreSQL Предложение LIMIT используется для ограничения количества записей, возвращаемых запросом SELECT.

SELECT * FROM tutorials LIMIT 4;

PostgreSQL Выберите оператор в оболочке SQL

PostgreSQL Выберите оператор в pgAdmin

Шаг 1) В дереве объектов:

  1. Щелкните правой кнопкой мыши по таблице.
  2. Выберите скрипты.
  3. Нажмите «ВЫБРАТЬ СКРИПТ».

PostgreSQL Выберите оператор в pgAdmin

Шаг 2) На панели справа:

  1. При необходимости отредактируйте запрос SELECT.
  2. Нажмите на значок молнии.
  3. Просмотрите результат.

PostgreSQL Выберите оператор в pgAdmin

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;

В этом случае строка удаляется только в том случае, если значения tutorial_name и id совпадают с другой строкой. Если две строки имеют одинаковое значение tutorial_name, но разные значения id, обе сохраняются, поскольку комбинация по-прежнему уникальна. Важно помнить об этом поведении: DISTINCT не удаляет дубликаты отдельных столбцов при выборе нескольких столбцов; он удаляет дубликаты всего набора выбранных столбцов вместе.

DISTINCT vs GROUP BY в PostgreSQL

Функции DISTINCT и GROUP BY позволяют удалять повторяющиеся значения, но они служат разным целям:

  • DISTINCT Просто возвращает уникальные строки из результата и лучше всего подходит, когда вам нужен только список без дубликатов.
  • ГРУППА ПО группирует строки, имеющие общее значение, чтобы вы могли применять агрегатные функции, такие как 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.
  • имя_таблицы: Название существующей таблицы, к которой вы хотите обратиться с запросом.

Различные положения:

Команды Описание
* Извлекает записи для всех строк в таблице.
DISTINCT ОТЛИЧНЫЕ в PostgreSQL помогает удалить дубликаты из результата.
СОРТИРОВАТЬ ПО Сортирует строки по столбцу. Порядок сортировки по умолчанию — по возрастанию. Используйте ключевое слово DESC для сортировки в порядке убывания.
ОГРАНИЧЕНИЯ ЛИМИТУ в PostgreSQL ограничивает количество записей, возвращаемых запросом.

Часто задаваемые вопросы (FAQ)

Да. Искусственный интеллект может преобразовать описание в операторы SELECT DISTINCT, добавить ORDER BY или LIMIT и объяснить результат. Тем не менее, перед запуском в рабочей среде следует протестировать запрос на вашей схеме.

Да. Инструменты искусственного интеллекта могут считывать план запроса из EXPLAIN ANALYZE и предлагать индексы или переписывать DISTINCT как GROUP BY. Всегда проверяйте предложения на реальных данных, поскольку производительность зависит от размера таблицы и индексов.

Параметр DISTINCT удаляет повторяющиеся строки во всех выбранных столбцах. Параметр DISTINCT ON (выражение) сохраняет первую строку для каждого уникального значения этого выражения, позволяя выбрать одну строку для каждой группы, обычно в сочетании с ORDER BY.

Метод DISTINCT может работать медленнее на больших таблицах, поскольку ему необходимо сравнивать и удалять дубликаты, часто используя сортировку или хеширование. Правильное создание индексов и ограничение количества выбираемых столбцов помогают снизить его стоимость.

Подведем итог этой публикации следующим образом: