Использование CASE в предложении ORDER BY для сортировки записей по наименьшему значению двух столбцов в SQL

Опубликовано: 1 Сентября, 2022

В этой статье мы увидим, как использовать CASE в предложении ORDER BY для сортировки записей по наименьшему значению из двух столбцов в SQL.

СЛУЧАЙ заявление:

Этот оператор содержит одно или несколько условий с соответствующим результатом. Когда условие выполняется, чтение прекращается и возвращается соответствующий результат (аналогично оператору IF-ELSE).

Он возвращает значение, указанное в предложении ELSE в операторе CASE, если никакие условия не выполняются. Он вернет NULL, если предложение ELSE отсутствует в операторе.

Синтаксис СЛУЧАЯ:

CASE
   WHEN condition1 THEN result1
   WHEN condition2 THEN result2
   WHEN condition3 THEN result3
   ELSE result
END;

ORDER BY: это ключевое слово используется для сортировки набора результатов в порядке возрастания или убывания. По умолчанию он сортирует записи в порядке возрастания. ASC или DESC — это ключевое слово для сортировки записи в порядке возрастания или убывания соответственно.

ЗАКАЗАТЬ ПО Синтаксис:

SELECT column_name1, column_name2, ...
FROM table_name
ORDER BY column_name1, column_name2, ... ASC|DESC;

Шаг 1: Создание базы данных

Используйте приведенный ниже оператор SQL, чтобы создать базу данных с именем geeks.

Запрос:

CREATE DATABASE geeks;

Шаг 2: Использование базы данных

Используйте приведенный ниже оператор SQL, чтобы переключить контекст базы данных на компьютерщиков.

Запрос:

USE geeks;

Шаг 3: Определение таблицы

У нас есть следующая demo_table в нашей компьютерной базе данных.

Запрос:

CREATE TABLE demo_table(
ID int,
NAME VARCHAR(20),
APPLE int,
ORANGE int);

Шаг 4: Вставьте данные в таблицу

Запрос:

INSERT INTO demo_table VALUES
(1, "Romy", 45, 7),
(2, "Rinkle", 20, 25),
(3,"Shalini", 22, 29),
(4, "Akanksha",50, 55),
(5,"Ayushi", 40, 13);

Шаг 5: Использование CASE в предложении ORDER BY для сортировки записи по наименьшему значению столбца 2

Для демонстрации мы упорядочим таблицу, используя наименьшее значение столбцов «АПЕЛЬСИН» и «ЯБЛОКО».

Запрос:

SELECT * FROM demo_table
ORDER BY CASE  
          WHEN  APPLE< ORANGE THEN APPLE
          ELSE ORANGE
        END

Выход:

Вывод Объяснение:

  • ID = 1 является первым, потому что оранжевый столбец с ID = 1 имеет самую низкую запись в таблице.
  • ID=5 является вторым, потому что оранжевый столбец с ID=5 имеет вторую самую низкую запись в таблице.
  • ID = 2 является третьим, потому что столбец Apple с ID = 2 имеет третью самую низкую запись в таблице и так далее.