我想根据他们的职位来安排员工;i、 不是工作名称的自然顺序(字母顺序),而是按以下顺序
总裁->经理->办事员->业务员。
我在考虑创建一个job\u name a priority的视图,然后用它对表进行排序。
有没有什么方法可以不使用任何其他视图来进行相同的操作?
员工样本表
emp_id | emp_name | job_name | manager_id | hire_date | salary | commission | dep_id
--------+----------+-----------+------------+------------+---------+------------+--------
68319 | KAYLING | PRESIDENT | | 1991-11-18 | 6000.00 | | 1001
66928 | BLAZE | MANAGER | 68319 | 1991-05-01 | 2750.00 | | 3001
67832 | CLARE | MANAGER | 68319 | 1991-06-09 | 2550.00 | | 1001
65646 | JONAS | MANAGER | 68319 | 1991-04-02 | 2957.00 | | 2001
67858 | SCARLET | ANALYST | 65646 | 1997-04-19 | 3100.00 | | 2001
69062 | FRANK | ANALYST | 65646 | 1991-12-03 | 3100.00 | | 2001
63679 | SANDRINE | CLERK | 69062 | 1990-12-18 | 900.00 | | 2001
64989 | ADELYN | SALESMAN | 66928 | 1991-02-20 | 1700.00 | 400.00 | 3001
65271 | WADE | SALESMAN | 66928 | 1991-02-22 | 1350.00 | 600.00 | 3001
66564 | MADDEN | SALESMAN | 66928 | 1991-09-28 | 1350.00 | 1500.00 | 3001
68454 | TUCKER | SALESMAN | 66928 | 1991-09-08 | 1600.00 | 0.00 | 3001
68736 | ADNRES | CLERK | 67858 | 1997-05-23 | 1200.00 | | 2001
69000 | JULIUS | CLERK | 66928 | 1991-12-03 | 1050.00 | | 3001
69324 | MARKER | CLERK | 67832 | 1992-01-23 | 1400.00 | | 1001
2条答案
按热度按时间neskvpey1#
你可以使用
case
声明如下:aemubtdh2#
作为对斯盖德斯答案的补充,案例采用了另一种稍微紧凑的形式:
mysql还支持field:
与case不同,它不是标准的sql,所以这就是不使用它的原因,但它在概念上与第一个示例做相同的事情
请注意,您的数据包含analyst,但您没有为此编写代码