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

MySQLテーブルを2列で並べ替えますか?


以下の構文を使用して、MySQLテーブルを2列で並べ替えます-

order by yourColumnName1 DESC,yourColumnName2 DESC;

まず、例のテーブルを作成しましょう-

mysql> create table OrderByDemo
   -> (
   -> StudentId int,
   -> StudentName varchar(100),
   -> StudentAge int
   -> );
Query OK, 0 rows affected (0.57 sec)

挿入コマンドを使用してテーブルにレコードを挿入します。クエリは次のとおりです-

mysql> insert into OrderByDemo values(1,'John',23);
Query OK, 1 row affected (0.20 sec)
mysql> insert into OrderByDemo values(3,'Johnson',24);
Query OK, 1 row affected (0.27 sec)
mysql> insert into OrderByDemo values(4,'Carol',26);
Query OK, 1 row affected (0.14 sec)
mysql> insert into OrderByDemo values(2,'David',20);
Query OK, 1 row affected (0.13 sec)

次に、上記の構文を適用して、MySQLテーブルの2つの列で並べ替えます。クエリは次のとおりです-

mysql> select *from OrderByDemo order by StudentId ASC, StudentAge ASC;

以下は、2つの列を昇順で並べ替える出力です-

+-----------+-------------+------------+
| StudentId | StudentName | StudentAge |
+-----------+-------------+------------+
|         1 | John        |         23 |
|         2 | David       |         20 |
|         3 | Johnson     |         24 |
|         4 | Carol       |         26 |
+-----------+-------------+------------+
4 rows in set (0.00 sec)

または、DESCコマンドを使用して降順で実行できます。クエリは次のとおりです-

mysql> select *from OrderByDemo order by StudentId DESC,StudentAge DESC;

以下は出力です-

+-----------+-------------+------------+
| StudentId | StudentName | StudentAge |
+-----------+-------------+------------+
|         4 | Carol       |         26 |
|         3 | Johnson     |         24 |
|         2 | David       |         20 |
|         1 | John        |         23 |
+-----------+-------------+------------+
4 rows in set (0.00 sec)

−プライマリソートが最初に機能します。


  1. MySQLの列の順序を変更できますか?

    はい、列の順序を変更できます。これは、ALTERコマンドとAFTERを使用して実行し、個々の列の新しい順序を設定できます。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> `Student_Key_Age` int,    -> `Student_Key_Name` varchar(20),    -> `Student_Key_CountryName` varchar(20)    ->

  2. MySQLテーブルの2つの列にfloat値を分割しますか?

    浮動小数点値を2列に分割するために、最初の列は小数点以下の値になります。 2番目の列には、小数点以下の値があります。このために、CAST()と一緒にSUBSTRING_INDEX()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1951    (    Value1 varchar(20)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> ins