2011-03-01 50 views
1

什麼是ORDER BY 1,2ORDER BY在SQL子句

我們可以ORDER BY子句中使用數值的含義是什麼?

這是一個有效的聲明?

+0

它是有效的 - 但我還是推薦使用**列名**,而不僅僅是他們的序位 - 減少意外驚喜的機會! – 2011-03-01 08:48:15

回答

3

ORDER BY 1, 2列的順序將通過您的選擇第一和第二表達式訂購您的數據。例如:

SELECT 
    Col1, 
    Col2 
FROM 
    Table 
ORDER BY 
    1 

是一樣的:

SELECT 
    Col1, 
    Col2 
FROM 
    Table 
ORDER BY 
    Col1 

你可以使用這個符號與表達,例如:

SELECT 
    10 - IntCol1, 
    Col2 
FROM 
    Table 
ORDER BY 
    1 
+1

這是一樣的,只要你不改變你的SELECT列列表。如果你這樣做 - 你突然之間完全由其他東西來訂購.... – 2011-03-01 09:16:52

3

這是一個有效的語句。數字指向結果中的列位置。

ORDER BY 1, 2 

相同

ORDER BY MyTable.FirstColumn, MyTable.SecondColumn