order by 1
significa "ordenar pelo primeiro campo que selecionei" -- ou seja, neste caso, o mesmo que order by playerno
, porque playerno
era o primeiro campo da lista. Caso você queira o texto oficial, aqui está o que o SQL-92 padrão diz:
10)If ORDER BY is specified, then each <sort specification> in the
<order by clause> shall identify a column of T.
Case:
a) If a <sort specification> contains a <column name>, then T
shall contain exactly one column with that <column name> and
the <sort specification> identifies that column.
b) If a <sort specification> contains an <unsigned integer>,
then the <unsigned integer> shall be greater than 0 and not
greater than the degree of T. The <sort specification> iden-
tifies the column of T with the ordinal position specified by
the <unsigned integer>.
Neste caso,
b
é o que parece se aplicar. No entanto, as versões mais recentes do padrão SQL removeram esse recurso, portanto, o novo código geralmente deve evitá-lo. Os servidores de banco de dados baseados em SQL estão obsoletos há algum tempo, mas a maioria continua a suportá-lo por causa da compatibilidade com versões anteriores. Ao mesmo tempo, o fato de terem sido obsoletos indica que eles não consideram mais um recurso que eles realmente precisam suportar, então ele pode ser removido a qualquer momento sem aviso prévio (por exemplo, se eles encontrarem um bug nessa parte de seu código, eles podem decidir que a melhor maneira de corrigir o bug é simplesmente desabilitar esse recurso).