ОТЛИЧНЫЕ в PostgreSQL: выбрать, упорядочить и ограничить (примеры)
⚡ Умное резюме
ОТЛИЧНЫЕ в PostgreSQL Используется с оператором SELECT для удаления повторяющихся строк и возврата только уникальных значений. В нем рассматривается синтаксис SELECT, SQL Shell и pgAdmin, оператор DISTINCT для одного и нескольких столбцов, а также различия между DISTINCT и GROUP BY.
Вы можете получить данные из таблицы с помощью оператора 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;
ПРИМЕЧАНИЕ: Используйте команду \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;
Давайте выполним запрос к таблице PostgreSQL, выбрав уникальные значения идентификаторов из нашей таблицы, используя запросы с уникальными идентификаторами. 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;
В этом случае строка удаляется только в том случае, если значения 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 ограничивает количество записей, возвращаемых запросом. |









