sql >> Database teknologi >  >> RDS >> Mysql

hvad er denne rækkefølge med 1?

order by 1 betyder "rækkefølge efter det første felt, jeg valgte" -- dvs. i dette tilfælde det samme som order by playerno , fordi playerno var det første felt på listen.

Hvis du vil have den officielle formulering, er her hvad SQL-92 standard siger:

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

I dette tilfælde b er den, der ser ud til at gælde.

Nyere versioner af SQL-standarden har dog fjernet denne funktion, så ny kode bør generelt undgå det. SQL-baserede databaseservere har forældet det i et stykke tid nu, men de fleste fortsætter med at understøtte det af hensyn til bagudkompatibilitet. Samtidig indikerer det faktum, at de har forældet det, at de ikke længere betragter det som en funktion, de virkelig skal understøtte, så det kan fjernes til enhver tid uden yderligere advarsel (f.eks. hvis de finder en fejl i den del af deres kode, kan de beslutte, at den bedste måde at rette fejlen på er at deaktivere denne funktion).



  1. Har du brug for hjælp til at få adgang til mysql-databasen ved hjælp af node.js

  2. Fuld tekstsøgning returnerer altid et tomt resultatsæt

  3. Kontroller, om værdien eksisterer, før du indsætter i MySQL DB i et PHP-script

  4. Skal jeg kun holde mig til AWS RDS Automated Backup eller DB Snapshots?