Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

qual é essa ordem por 1?


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).