ORDER BY 与 FIELD结合:通过将函FIELD数放在ORDER BY子句中,我们可以自定义排序顺序,而不是按照默认的升序或降序排序。
下面我将创建一个名为students的表,插入10条记录,并使用ORDER BY FIELD函数举例说明其用法。
演示
1.创建表
代码语言:sql复制CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50),
grade VARCHAR(10)
);2.插入10条记录
代码语言:sql复制INSERT INTO students (id, name, grade) VALUES
(1, 'Alice', 'C'),
(2, 'Bob', 'A'),
(3, 'Charlie', 'B'),
(4, 'David', 'C'),
(5, 'Eve', 'B'),
(6, 'Frank', 'A'),
(7, 'Grace', 'C'),
(8, 'Heidi', 'B'),
(9, 'Ivan', 'A'),
(10, 'Judy', 'B');3.使用 ORDER BY FIELD 函数举例
假设我们想按照特定的grade顺序来排序,顺序为:B,A,C。
SELECT * FROM students ORDER BY FIELD(grade, 'B', 'A', 'C');查询结果

在上述查询中,ORDER BY FIELD(grade, 'B', 'A', 'C')会按照我们指定的顺序对grade字段进行排序。首先显示grade为B的记录,然后是A,最后是C。这样,我们就可以根据需要指定任意的排序顺序。


