每日一句SQL:根据数据项的键排序

根据数据项的键排序

Q:要根据某些条件逻辑来排序。例如,如果JOB是SALESMAN,要根据COMM来排序。否则,根据SAL排序。要返回下面的结果集:

每日一句SQL:根据数据项的键排序

解决方案:

在Order by 子句中使用Case表达式:

 

select enmae,sal,job,comm from emp



order by case when job ='salseman' then comm else sal end

 

 

讨论

可以使用case表达式来动态改变如何对结果排序。传递Order by 的值类似这样:

select ename,sal,job,comm ,



case when job='salsman' then comm else sal end as ordered 



from emp order by ordered

 

每日一句SQL:根据数据项的键排序

你可能感兴趣的:(sql)