MySQL:按特定字段排序
第一个问题非常尖锐:) 我需要按特定的部门类型或部门进行排序,然后是排名。 按职级、部门类型和部门默认设置订单。前端是PHP,但如果可能的话,我正在寻找更多的SQL修复程序。如果子查询可以工作,我还有一个部门的源表 原表:MySQL:按特定字段排序,mysql,sql-order-by,Mysql,Sql Order By,第一个问题非常尖锐:) 我需要按特定的部门类型或部门进行排序,然后是排名。 按职级、部门类型和部门默认设置订单。前端是PHP,但如果可能的话,我正在寻找更多的SQL修复程序。如果子查询可以工作,我还有一个部门的源表 原表: +-----------+------------+------+ | Dept_Type | Department | Rank | +-----------+------------+------+ | Inbound | Dept R | 1 | |
+-----------+------------+------+
| Dept_Type | Department | Rank |
+-----------+------------+------+
| Inbound | Dept R | 1 |
| Outbound | Dept P | 2 |
| Inbound | Dept E | 3 |
| Outbound | Dept D | 4 |
| Outbound | Dept D | 5 |
| Outbound | Dept D | 6 |
+-----------+------------+------+
我需要指定按“D部门”、“E部门”订购,然后是其他类似的内容:
SELECT *
FROM table
ORDER BY FIELD(department, "Dept D", "Dept E"), Rank, Dept_Type, Department
我希望它返回的内容(DDDERP):
它实际返回的内容(RPDDDE):
所以理论上我想:
ORDER BY FIELD("Dept D", "Dept E", department), Rank
但它显然不是这样工作的。感谢您花时间查看此文档。使用DESC属性:
按字段排序(部门、'Dept E'、'Dept D')描述、等级、部门类型、部门
天哪,简直太简单了。谢谢
+-----------+------------+------+
| Dept_Type | Department | Rank |
+-----------+------------+------+
| Inbound | Dept R | 1 |
| Outbound | Dept P | 2 |
| Outbound | Dept D | 4 |
| Outbound | Dept D | 5 |
| Outbound | Dept D | 6 |
| Inbound | Dept E | 3 |
+-----------+------------+------+
ORDER BY FIELD("Dept D", "Dept E", department), Rank