利用MySQL FIELD函数,按照你的意愿去做排序。

2024-09-14 14:31:03 浏览数 (2)

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顺序来排序,顺序为:BAC

代码语言:sql复制
SELECT * FROM students ORDER BY FIELD(grade, 'B', 'A', 'C');

查询结果

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

0 人点赞