MySQL中的ORDER BY語句可以根據(jù)指定的列對查詢結(jié)果進(jìn)行排序。該語句可以應(yīng)用在SELECT語句的末尾,如下:
SELECT column1, column2, ... FROM table_name ORDER BY column1, column2, ... ASC|DESC;
其中,column1、column2是指需要排序的列名,可以指定多個列名,并且可以指定排序方式(ASC為升序,DESC為降序)。例如:
SELECT id, name, age FROM student ORDER BY age DESC;
此語句會將student表中的所有記錄按照age列進(jìn)行降序排序。如果要按照多個列進(jìn)行排序,則可以按照下面的方式進(jìn)行指定:
SELECT id, name, age FROM student ORDER BY age DESC, name ASC;
此語句會先根據(jù)age列進(jìn)行降序排序,然后在age相同的記錄中根據(jù)name列進(jìn)行升序排序。
我們還可以使用表達(dá)式指定需要排序的列,例如:
SELECT name, age, age + 10 as age2 FROM student ORDER BY age2 DESC;
此語句會將student表中的所有記錄按照(age + 10)進(jìn)行降序排序。
需要注意的是,當(dāng)使用ORDER BY語句進(jìn)行排序時,MySQL會根據(jù)指定的列的數(shù)據(jù)類型進(jìn)行排序。如果列的數(shù)據(jù)類型不同,則排序結(jié)果可能出現(xiàn)異常。