MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでは、クエリで取得されない列を使用して並べ替え順序を指定するにはどうすればよいですか?


実際、ORDER BY句を使用してソート順を指定できることがわかっているので、 ORDER BYキーワードの後に​​、テーブルを並べ替える列の名前を記述する必要があります。クエリでSELECTキーワードの後に​​その列名を使用する必要はありません。

mysql> Select Sr, Item from ratelist ORDER BY Price;
+----+------+
| Sr | Item |
+----+------+
|  5 | T    |
|  1 | A    |
|  2 | B    |
|  4 | h    |
|  3 | C    |
+----+------+
5 rows in set (0.00 sec)

上記の例では、テーブルを並べ替えるためにORDERBYキーワードで記述したSELECTキーワードの後に​​同じ列の名前を記述する必要がないことがわかります。これは、テーブルを分類したことに基づいて、列自体がMySQLクエリによって取得されないことを意味します。


  1. 正規表現の場合にORDERBYCASEを使用してクエリを並べ替えるにはどうすればよいですか?

    CASEステートメントとともに正規表現を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable    (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    Value varchar(20)    ); Query OK, 0 rows affected (0.66 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable(Va

  2. MySQLでselectクエリによって取得された結果をどのように並べ替えることができますか?

    テーブルから特定のデータまたは行を選択するのが一般的です。行は、テーブルに表示される順序で返されます。テーブルから選択した行を、ある列に対して昇順または降順で返す必要がある場合があります。 「ORDERBY」ステートメントは、ある列に関して結果を並べ替えるために使用されます。次の例は、より明確になります。 「name」フィールドを含むさまざまなフィールドで構成されるテーブルがあるとします。テーブルからすべての行を選択しますが、行は名前のアルファベット順に並べる必要があります。ここで「ORDERBY」ステートメントが機能します。このシナリオでは、結果を「名前」フィールドの昇順で並べ替える必要