De forma predeterminada , SQL ORDER BY sortea la columna en orden ascendente, pero cuando se necesita el orden descendente, se puede usar ORDER BY DESC . En caso de que necesitemos una ordenación personalizada, debemos usar una instrucción CASE en la que debemos mencionar las prioridades para ordenar la columna.
En este artículo, veamos cómo podemos ordenar de forma personalizada en una tabla usando order usando MSSQL como servidor.
Sintaxis:
SELECT * FROM table_name ORDER BY CASE WHEN column_field = "value1" THEN priority1 WHEN column_field = "value2" THEN priority2 WHEN column_field = "value3" THEN priority3 . ELSE priorityn END ASC
Paso 1: Estamos creando una base de datos. Para esto, use el siguiente comando para crear una base de datos llamada GeeksforGeeks.
Consulta:
CREATE DATABASE GeeksforGeeks;
Paso 2: para usar la base de datos GeeksforGeeks, use el siguiente comando.
Consulta:
USE GeeksforGeeks
Paso 3: Ahora estamos creando una tabla. Cree una tabla student_marks con 4 columnas usando la siguiente consulta SQL.
Consulta:
CREATE TABLE student_marks( stu_id VARCHAR(20), stu_name VARCHAR(20), stu_branch VARCHAR(20), total_marks INT )
Paso 4: Ver la descripción de la tabla.
Consulta:
EXEC sp_columns student_marks
Paso 5: la consulta para insertar filas en la tabla. Inserte filas en la tabla student_marks usando la siguiente consulta SQL.
Consulta:
INSERT INTO student_marks VALUES( '1001','PRADEEP','E.C.E', 550), ( '1002','KIRAN','E.C.E', 540), ( '5001','PRANAV','I.C.E', 450), ( '2001','PADMA','C.S.E', 570), ( '2002','SRUTHI','C.S.E', 480), ( '2003','HARSITHA','C.S.E', 534), ( '3001','SAI','I.T', 560), ( '3002','HARSH','I.T', 510), ( '4001','HARSHINI','E.E.E', 500)
Paso 6: Ver los datos insertados
Consulta:
SELECT * FROM student_marks
- La consulta a la ordenación personalizada basada en el orden de las sucursales de CSE, IT, ECE, ICE, EEE también muestra la diferencia entre la ordenación predeterminada usando ORDER BY.
Clasificación predeterminada por ORDEN POR:
SELECT * FROM student_marks ORDER BY stu_branch
Producción:
Clasificación personalizada por ORDEN POR:
SELECT * FROM student_marks ORDER BY CASE WHEN stu_branch = 'C.S.E' then 1 WHEN stu_branch = 'I.T' then 2 WHEN stu_branch = 'E.C.E' then 3 WHEN stu_branch = 'I.C.E' then 4 WHEN stu_branch = 'E.E.E' then 5 END ASC
Producción:
Publicación traducida automáticamente
Artículo escrito por lokeshpotta20 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA