2011-03-01 8 views
1

Quel est le sens de ORDER BY 1,2clause ORDER BY dans SQL

Peut-on utiliser des valeurs numériques dans la clause ORDER BY?

Est-ce une déclaration valide?

+0

Il est valable - mais je vous recommande encore en utilisant la ** noms de colonnes ** au lieu de simplement leur position ordinale - moins de chance pour des surprises inattendues! –

Répondre

3

ORDER BY 1, 2 commanderont vos données en première et deuxième expressions dans votre sélection. Par exemple:

SELECT 
    Col1, 
    Col2 
FROM 
    Table 
ORDER BY 
    1 

est le même que:

SELECT 
    Col1, 
    Col2 
FROM 
    Table 
ORDER BY 
    Col1 

Vous pouvez utiliser cette notation avec des expressions, par exemple:

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

C'est la même chose, tant que vous ne modifiez pas la liste des colonnes dans votre SELECT. Si vous le faites - vous commandez soudainement quelque chose d'autre entièrement .... –

1

Oui, c'est. Il est en ordre par colonnes sans spécifier le nom de la colonne. Donc commander par 1,2 est ordonner par la première colonne, puis par la deuxième colonne.

Consultez cet article pour plus d'informations:

http://www.1keydata.com/sql/sqlorderby.html

3

Ceci est une déclaration valide. Les chiffres pointent vers la position de la colonne dans votre résultat.

ORDER BY 1, 2 

est le même que

ORDER BY MyTable.FirstColumn, MyTable.SecondColumn 
0

Les chiffres se rapportent à l'ordre des colonnes