ORDER BY 5 DESC是什么意思?

时间:2011-11-02 17:41:30

标签: sql-server-2005 sql-server-2008 tsql sql-order-by

SELECT Departamentos.Nome_Dep,  
       Funcionarios.Nome AS Funcionario,
       Funcionarios.Salario,
       AVG(Funcionarios.Salario) OVER(PARTITION BY Departamentos.Nome_Dep) "Média por Departamento"
       Salario - AVG(Funcionarios.Salario) OVER(PARTITION BY Departamentos.Nome_Dep) "Diferença de Salário"   FROM Funcionarios
INNER JOIN Departamentos
    ON Funcionarios.ID_Dep = Departamentos.ID
ORDER BY 5 DESC

The Order By 5让我失望。我从来都不喜欢它。订单按[colunmname]是,但订单按[编号],从未见过。我把它从一篇文章中删除了。

注意:这是T-SQL。

来源:Window Functions in SQL Server 2005, 2008, 2012

7 个答案:

答案 0 :(得分:25)

这将按此SELECT语句中的第5个字段排序

答案 1 :(得分:5)

按结果集中的第5列排序。

答案 2 :(得分:5)

按结果集降序排序第五列。

答案 3 :(得分:3)

数字代表选择列表中列的索引。

来源:http://mattberseth.com/blog/2007/05/quick_tip_order_by_1_descendin.html

答案 4 :(得分:0)

在结果集中按第5个字段排序。

答案 5 :(得分:0)

SORTING BY RELATIVE POSITION

您可以使用SQL ORDER BY子句按结果集中的相对位置进行排序,其中结果集中的第一个字段为1.下一个字段为2,依此类推。 在这种情况下,在结果集中按顺序排列第5个字段。

浏览http://www.techonthenet.com/sql/order_by.php      关于sql order by。

答案 6 :(得分:0)

当类似的列名称成为计算输出字段时有用

在下面的示例中,如果按照“数字转换”命令排序,则会造成混淆。因为此列名称刚刚成为查询输出SUM字段的名称(具有相同的旧列数据)

因此它在计算输出字段中变得有用

示例:

原始字段:

名称|类型| RiskLevel |日期|结果|侵犯|

/ *现在为每种类型添加一个额外的违规总和,请注意'按2 desc'顺序排列。指第二个查询列的顺序,即hi为低* /

选择Type,sum(numberOfViolations)作为numberOfViolations 来自restaurantTable 按类别分组 按2 desc排序