如何根据选择语句对行进行排序

叶夫根尼·巴加基(Yevgeniy Bagackiy)

所以我有查询:

SELECT t1.username, t1.staff_id, t1.longname, t2.*, t3.longname as appraisor_name, t4.dep, t2.staff_id as check_id, t5.deptname FROM users t1
    LEFT JOIN(
        SELECT * FROM quartz_quarter2 WHERE staff_id = '1001128' AND date = '2017'
        UNION
        SELECT * FROM quartz_quarter3 WHERE staff_id = '1001128' AND date = '2017'
        UNION             
        SELECT * FROM quartz_quarter4 WHERE staff_id = '1001128' AND date = '2017'
        UNION             
        SELECT * FROM quartz_quarter1 WHERE staff_id = '1001128' AND date = '2018'            
    )t2 ON t1.staff_id = t2.staff_id
    LEFT JOIN( SELECT * FROM users )t3 ON t2.appraisor_id = t3.staff_id
    LEFT JOIN( SELECT * FROM quartz_department )t4 ON t2.role = t4.role
    LEFT JOIN( SELECT * FROM ref_department )t5 ON t1.fkdeptid = t5.deptid
    WHERE t1.staff_id = '1001128'

我想完全按照选择的顺序获取数据,因此应该是:

| username | staff_id | quarter |
+++++++++++++++++++++++++++++++++
| YEVGENIY |  1001128 |    2    |
| YEVGENIY |  1001128 |    3    |
| YEVGENIY |  1001128 |    4    |
| YEVGENIY |  1001128 |    1    |

但是我得到的是:

在此处输入图片说明

有什么方法可以根据选择语句对其进行排序吗?

富巴

您可以使用该FIND_IN_SET()功能。

ORDER BY FIND_IN_SET(quarter, '2,3,4,1);

该函数将返回值在指定集中的位置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章