Ordene valores que contengan letras y símbolos en orden personalizado con MySQL
Para pedidos personalizados, utilice ORDER BY FIELD(). Primero creemos una tabla:
mysql> create table DemoTable
(
Title varchar(100)
);
Query OK, 0 rows affected (0.62 sec)
Inserte algunos registros en la tabla usando el comando insertar:
mysql> insert into DemoTable values('Java_1+');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('MySQL_23+');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values('MongoDB++');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('C++_23');
Query OK, 1 row affected (0.13 sec)
Muestre todos los registros de la tabla usando la declaración de selección:
mysql> select *from DemoTable;
Esto producirá el siguiente resultado:
+-----------+
| Title |
+-----------+
| Java_1+ |
| MySQL_23+ |
| MongoDB++ |
| C++_23 |
+-----------+
4 rows in set (0.00 sec)
La siguiente es la consulta para ordenar valores que contienen letras y símbolos en un orden personalizado:
mysql> select *from DemoTable order by field(Title,'MySQL_23+','C++_23','Java_1+','MongoDB++');
Esto producirá el siguiente resultado:
+-----------+
| Title |
+-----------+
| MySQL_23+ |
| C++_23 |
| Java_1+ |
| MongoDB++ |
+-----------+
4 rows in set (0.00 sec)