mysql 用case排序后再排序
时间: 2023-09-09 20:10:12 浏览: 36
你可以使用以下语法来对 `MySQL` 中的数据进行多级排序:
```sql
SELECT *
FROM your_table
ORDER BY
CASE
WHEN column_name = 'value_1' THEN 1
WHEN column_name = 'value_2' THEN 2
...
ELSE 3
END,
other_column_name ASC/DESC;
```
这里的 `column_name` 是你想要排序的列名,`value_1` 和 `value_2` 是你想要按照其排序的值。如果 `column_name` 的值等于 `value_1`,那么这一行将会被排在第一位;如果等于 `value_2`,那么这一行将会被排在第二位。你可以根据需要添加更多的 `WHEN` 子句。
如果你想要在排序后再按照另一个列进行排序,只需要在 `ORDER BY` 子句中添加另一个列名和排序方式即可。例如:
```sql
SELECT *
FROM your_table
ORDER BY
CASE
WHEN column_name = 'value_1' THEN 1
WHEN column_name = 'value_2' THEN 2
...
ELSE 3
END,
other_column_name ASC/DESC,
third_column_name DESC/ASC;
```
这里的 `other_column_name` 和 `third_column_name` 分别是你想要再按照其排序的列名。你可以根据需要添加更多的排序列名。