PostgreSQL ORDER BY
ЗАКАЗАТЬ по пункту
Как набор результатов будет отображаться из таблицы в соответствии с оператором выбора, либо в обычной последовательности таблицы, либо в возрастающем или убывающем порядке для определенных столбцов, в зависимости от предложения ORDER BY в PostgreSQL. В предложении ORDER BY можно заказать более одного столбца. Последовательность сортировки по умолчанию в порядке возрастания, наименьшее значение идет первым.
Когда две строки равны по первому выражению, они будут сравниваться друг с другом другим выражением и так далее. Если строки равны по всем указанным выражениям, то возврат набора результатов зависит от реализации выражения.
Необязательно, что можно добавить ключевое слово ASC или DESC после любого выражения в предложении ORDER BY, чтобы получить набор результатов в порядке возрастания или убывания. Если не указано, ASC предполагается по умолчанию. Два определенных оператора могут использоваться вместе с предложением ORDER BY с ключевым словом USING, чтобы сделать результирующий набор возрастающим или убывающим. Эквивалент ASC - ИСПОЛЬЗОВАНИЕ <, а эквивалент DESC - ИСПОЛЬЗОВАНИЕ>.
Значение NULL сортируется выше, чем другое значение. Когда порядок сортировки возрастает, значение NULL приходит в конце, а в случае убывающего порядка сортировки - в начале.
Синтаксис:
ORDER BY выражение [ASC | DESC | Оператор USING] [, ...]
параметры
название | Описание |
---|---|
выражение | Выражение может быть именем выходного столбца или произвольным выражением, сформированным из значений входного столбца. |
PostgreSQL ORDER BY example1
Образец таблицы
Если мы хотим получить empno, emp_first_name, designame и salary по порядку сортировки по столбцу salary из таблицы employee , можно использовать следующий SQL.
SQL
Код:
SELECT empno,emp_first_name,designame,salary
FROM employee
ORDER BY salary;
Выход:
PostgreSQL ORDER BY с предложением WHERE
Если мы хотим получить empno, emp_first_name, designame , deptno и salary по порядку сортировки по столбцу salary из таблицы employee для этого сотрудника, который принадлежит к deptno 25, можно использовать следующий SQL.
SQL
Код:
SELECT empno,emp_first_name,designame,deptno,salary
FROM employee
WHERE deptno=25
ORDER BY salary;
Выход:
PostgreSQL ORDER BY в порядке убывания
Если мы хотим получить empno, emp_first_name, designame , deptno и salary по сортировке в порядке убывания по столбцу salary из таблицы employee для того сотрудника, который принадлежит к deptno 25, можно использовать следующий SQL.
SQL
Код:
SELECT empno,emp_first_name,designame,deptno,salary
FROM employee
WHERE deptno=25
ORDER BY salary DESC;
То же самое выше мы можем получить следующим:
PostgreSQL ORDER BY с предложением USING
Код:
SELECT empno,emp_first_name,designame,deptno,salary
FROM employee
WHERE deptno=25
ORDER BY salary USING>;
Здесь, в приведенном выше примере, было использовано предложение USING, и после этого предложения оператор (>) сортирует результаты в порядке убывания.
Выход:
PostgreSQL ORDER BY для значений NULL в порядке убывания
Если мы хотим получить emp_first_name, designame , комиссии и deptno по сортировке в порядке убывания по столбцу комиссии из таблицы employee для этого сотрудника, который принадлежит к deptno 25, можно использовать следующий SQL.
SQL
Код:
SELECT emp_first_name,designame,commission,deptno
FROM employee
WHERE deptno=25
ORDER BY commission USING>;
Выход:
объяснение
ORDER BY в вышеприведенном примере с последующим USING> сортирует столбец комиссии в порядке убывания. Здесь важно отметить, что значения NULL в столбце комиссии идут первыми, потому что мы уже обсуждали, что значения NULL выше, чем другие значения.
PostgreSQL ORDER BY с предложением USING в порядке возрастания
Если мы хотим получить emp_first_name, designame , комиссия и deptno по сортировке в порядке возрастания столбца комиссионных из таблицы сотрудников для этого сотрудника, который принадлежит к группе deptno 25, можно использовать следующий SQL.
SQL
Код:
SELECT emp_first_name,designame,commission,deptno
FROM employee
WHERE deptno=25
ORDER BY commission USING<;
Выход:
PostgreSQL ORDER BY несколько значений в определенном порядке
SQL
Код:
SELECT emp_first_name,designame,mngr_no,deptno,salary
FROM employee
ORDER BY designame,mngr_no,deptno asc,salary asc;
Выход:
Объяснение:
Здесь, в приведенном выше выводе, имя « CLERCK » встречалось четыре раза, в них mngr_no сортировалось в порядке возрастания, и три из них были одинаковыми, внутри они были отсортированы в порядке возрастания, а два из них были одинаковыми, и внутри них Зарплата отсортирована по возрастанию. Так как зарплата на последнем уровне одинакова, такой эффект не был показан в выходных данных.
Название «МЕНЕДЖЕР» встречалось три раза, в них mngr_no сортировалось в порядке возрастания, и все три из них были одинаковыми, внутри них сортировались в порядке возрастания, и два из них были одинаковыми, а в них зарплата сортировалась в порядке возрастания порядок. Вот почему 21000 приходит первым.
Название « OFFICER » появилось два раза, в них mngr_no отсортировано в порядке возрастания, и, поскольку они различаются, оставшийся уровень не оказал никакого влияния на это утверждение.
Название « SALESMAN » встречается три раза, в них mngr_no сортируется в порядке возрастания, и два из них одинаковы, а внутри они сортируются в порядке возрастания, и, поскольку они различны, оставшийся уровень не показал никакого эффекта для этого. заявление.
Новый контент: Composer: менеджер зависимостей для PHP , R программирования