SQLDeveloper中的“ORDER BY”命令帮助

时间:2011-10-05 10:21:35

标签: sql oracle-sqldeveloper

大家好我试图显示所有赚取佣金的员工的姓名,工资和佣金,并按薪水和佣金的降序排序数据。

我写了以下代码,但我认为没错。有谁知道我是否按照工资和佣金的降序排序?

SELECT  ENAME, SAL, COMM
FROM    emp
WHERE   COMM IS NOT null
ORDER   BY SAL,COMM DESC;

非常感谢。

-Jay

4 个答案:

答案 0 :(得分:5)

不,您需要ORDER BY SAL DESC,COMM DESC;

DESC仅适用于前一个表达式。不是所有前面的表达式,这意味着在原始查询中SAL仍将按升序排序(默认情况下未明确指定排序顺序)。

答案 1 :(得分:1)

试试这个

 ORDER BY SAL DESC, COMM DESC

答案 2 :(得分:1)

select * from employees order by salary desc,commission desc

query results

<强> EDITED

你会更清楚@Martin史密斯回答我刚刚检查过。

答案 3 :(得分:1)

您也可以使用ROW_NUMBER()功能。

检查一下: http://www.sqlservercentral.com/articles/T-SQL/66512/

这是此类要求的一步。

希望这有帮助。