Uso de CASE en la cláusula ORDER BY para ordenar registros por el valor más bajo de 2 columnas en SQL

En este artículo, veremos cómo usar CASE en la cláusula ORDER BY para ordenar registros por el valor más bajo de 2 columnas en SQL.

Declaración de CASO :

Esta sentencia contiene una o varias condiciones con su correspondiente resultado. Cuando se cumple una condición, deja de leer y se devuelve el resultado correspondiente (similar a la instrucción IF-ELSE).

Devuelve el valor especificado en la cláusula ELSE dentro de la declaración CASE si ninguna condición es verdadera. Devolverá NULL si la cláusula ELSE no está presente en la declaración.

Sintaxis del CASO:

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

ORDER BY: esta palabra clave se utiliza para ordenar el conjunto de resultados en orden ascendente o descendente. Ordena los registros en orden ascendente por defecto. ASC o DESC es la palabra clave para ordenar el registro en orden ascendente o descendente respectivamente.

ORDEN POR Sintaxis:

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

Paso 1: Creación de la base de datos

Use la siguiente instrucción SQL para crear una base de datos llamada geeks.

Consulta:

CREATE DATABASE geeks;

Paso 2: Uso de la base de datos

Use la siguiente instrucción SQL para cambiar el contexto de la base de datos a geeks.

Consulta:

USE geeks;

Paso 3: definición de la tabla

Tenemos la siguiente demo_table en la base de datos de nuestro geek.

Consulta:

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

Paso 4: Insertar datos en la tabla

Consulta:

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

Paso 5: uso de CASE en la cláusula ORDER BY para ordenar el registro por el valor más bajo de 2 columnas 

Para demostración, ordenaremos la tabla usando el valor más bajo de las columnas ‘NARANJA’ y ‘MANZANA’.

Consulta:

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

Producción:

Salida Explicación:

  • ID= 1 es el primero porque la columna naranja de ID=1 tiene el registro más bajo de la tabla. 
  • ID=5 es el segundo porque la columna naranja de ID=5 tiene el segundo registro más bajo de la tabla.
  • ID= 2 es el tercero porque la columna de Apple si ID=2 tiene el tercer registro más bajo en la tabla y así sucesivamente.

Publicación traducida automáticamente

Artículo escrito por romy421kumari y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *