кодесурса
«MySQL

PostgreSQL ORDER BY

script1adsense2code
script1adsense3code

ЗАКАЗАТЬ по пункту

Как набор результатов будет отображаться из таблицы в соответствии с оператором выбора, либо в обычной последовательности таблицы, либо в возрастающем или убывающем порядке для определенных столбцов, в зависимости от предложения 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

Образец таблицы

«PostgreSQL

Если мы хотим получить empno, emp_first_name, designame и salary по порядку сортировки по столбцу salary из таблицы employee , можно использовать следующий SQL.

SQL

Код:

SELECT empno,emp_first_name,designame,salary
FROM employee
ORDER BY salary;

Выход:

«PostgreSQL

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

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

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>;

Выход:

«PostgreSQL

объяснение

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

PostgreSQL ORDER BY несколько значений в определенном порядке

SQL

Код:


SELECT emp_first_name,designame,mngr_no,deptno,salary
FROM employee
ORDER BY designame,mngr_no,deptno asc,salary asc;

Выход:

«PostgreSQL

Объяснение:

Здесь, в приведенном выше выводе, имя « CLERCK » встречалось четыре раза, в них mngr_no сортировалось в порядке возрастания, и три из них были одинаковыми, внутри они были отсортированы в порядке возрастания, а два из них были одинаковыми, и внутри них Зарплата отсортирована по возрастанию. Так как зарплата на последнем уровне одинакова, такой эффект не был показан в выходных данных.

Название «МЕНЕДЖЕР» встречалось три раза, в них mngr_no сортировалось в порядке возрастания, и все три из них были одинаковыми, внутри них сортировались в порядке возрастания, и два из них были одинаковыми, а в них зарплата сортировалась в порядке возрастания порядок. Вот почему 21000 приходит первым.

Название « OFFICER » появилось два раза, в них mngr_no отсортировано в порядке возрастания, и, поскольку они различаются, оставшийся уровень не оказал никакого влияния на это утверждение.

Название « SALESMAN » встречается три раза, в них mngr_no сортируется в порядке возрастания, и два из них одинаковы, а внутри они сортируются в порядке возрастания, и, поскольку они различны, оставшийся уровень не показал никакого эффекта для этого. заявление.

Предыдущий: GROUP BY
Далее: ИМЕТЬ

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code