sql >> Databáze >  >> RDS >> Mysql

jaké je toto pořadí podle 1?

order by 1 znamená „uspořádat podle prvního pole, které jsem vybral“ – tj. v tomto případě stejně jako order by playerno , protože playerno bylo první pole v seznamu.

V případě, že chcete oficiální znění, zde je SQL-92 standardní říká:

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

V tomto případě b zdá se, že platí.

Novější verze standardu SQL však tuto možnost odstranily, takže nový kód by se jí měl obecně vyhnout. Databázové servery založené na SQL ji již nějakou dobu zavrhují, ale většina ji nadále podporuje z důvodu zpětné kompatibility. Zároveň skutečnost, že ji přestali podporovat, naznačuje, že ji již nepovažují za funkci, kterou skutečně potřebují podporovat, takže ji lze kdykoli bez dalšího varování odstranit (např. pokud v této části najdou chybu jejich kódu, mohou se rozhodnout, že nejlepším způsobem, jak chybu opravit, je prostě tuto funkci deaktivovat).



  1. Preferované nástroje MySQL

  2. Strukturování SQL dotazu na základě stavu více zaškrtávacích políček

  3. Jak udělat MySQL + podřetězec? + vyměnit?

  4. Jak připravit příkazy a parametry vazby v Postgresql pro C++