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
。这样,我们就可以根据需要指定任意的排序顺序。