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

根据数据项的键排序

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

解决方案:

在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

 

posted on 2012-04-20 07:34  骄傲的豹子  阅读(279)  评论(0编辑  收藏  举报

导航