著者:Dian普通の世界
出典:SQLデータベース開発
今日、mysqlの基本的な知識によってORDER BYがもたらされます。次に、ORDERBYの使用方法を見てみましょう。
ORDERBY関数
ORDER BYキーワードは、結果セットをソートするために使用されます。
ORDERBYキーワード
ORDER BYキーワードは、結果セットを昇順(ASC)または降順(DESC)でソートするために使用されます。
ORDER BYキーワードは、デフォルトでレコードを昇順(ASC)でソートし、デフォルトのソートではASCを書き込む必要はありません。
レコードを降順で並べ替える必要がある場合は、DESCキーワードを使用できます。これは省略できません。
ORDERBY構文
SELECT column1、column2、... FROM table_name
ORDER BY column1、column2、... ASC | DESC ;
サンプルデータベース
以下は、「顧客」テーブルのデータです。
ORDERBYの例
次のSQLステートメントは、「Customers」テーブルからすべての顧客を選択し、「Province」列に従ってそれらをソートします。
例:
SELECT * FROM Customers ORDERBY省份;
結果:
ここでのデフォルトのソート方法は昇順です。ここでの並べ替え規則は、州のピンインの最初の文字のASCII規則に従って並べ替えられます。たとえば、北京の頭文字はB、広東省の頭文字はG、湖北省の頭文字はH、上海の頭文字はS、浙江省の頭文字はZです。上記の結果はソート後に得られます。ソートの最初の文字が同じである場合、2番目の文字が比較されます。
ORDER BYDESCの例
次のSQLステートメントは、「Customers」テーブルからすべての顧客を選択し、「Province」列に従って降順で並べ替えます。
例:
SELECT * FROM Customers ORDERBY省份DESC;
結果は次のとおりです。
DESCを追加すると、並べ替え方法は降順になり、並べ替えルールは昇順とは逆になります。
ORDERBY複数列の例
誰もが理解しやすいように、Customersテーブルに2行のデータを追加します。
INSERT INTO `Customers`(顧客ID、名前、住所、市、郵便番号、州) VALUES (6 'ソング李'、 '華アベニュー21'、 '広州'、 '510000'、 '広東省'); INSERT INTO `Customers`(顧客ID、名前、住所、都市、郵便番号、州) VALUES (7、 'Liu Er'、 'Chang'an Avenue 121'、 'Beijing'、 '100000'、 'Beijing');
データを追加した後のCustomersテーブルは次のとおりです。
次のSQLステートメントは、「Customers」テーブルからすべての顧客を選択し、「Province」列と「Name」列で並べ替えます。
例
SELECT * FROM Customers ORDER BY州、名前;
結果は次のとおりです。
州を分類すると、北京と広東に2つあることがわかります。このとき、名前列のピニンイニシャルを並べ替えます。州が一貫しているという前提で、Liu Erの最初の文字はLで、Zhao Qiの最初の文字はZであるため、LiuErはZhaoQiの前にランク付けされます。同様に、Song Yiの頭文字はSで、Wang Wuの頭文字はWであるため、SongYiはWangWuの前にランク付けされます。
ORDERBY複数列の例2
次のSQLステートメントは、「Customers」テーブルからすべての顧客を選択し、「Province」で昇順で並べ替え、「Name」列で降順で並べ替えます。
SELECT * FROM Customers ORDER BY Province ASC、name DESC;
結果は次のとおりです。
名前が降順でソートされた後、名前のソート結果は昇順と逆になります。
注:複数の列を降順で並べ替える場合は、各列の後にDESCを使用する必要があります。
ORDERBYとLIMITの組み合わせ例
LIMITを使用した後、並べ替えた後の上位数個を見つけることができます。たとえば、州を昇順で並べ替えた後、上位3つの顧客情報を見つけることができます。
お客様のSELECT * FROM ``省份BY ORDER LIMIT 3
結果は次のことを示しています。
結果には、上位3社の顧客の情報のみが順番に表示されます。