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

単一のフィールドで並べ替え、MySQLで残りのレコードを同じ順序で表示します


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

mysql> create table DemoTable
   -> (
   -> Id int,
   -> Name varchar(20)
   -> );
Query OK, 0 rows affected (0.82 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values(201,'Chris Brown');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(110,'John Doe');
Query OK, 1 row affected (0.29 sec)
mysql> insert into DemoTable values(101,'Adam Smith');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(345,'Carol Taylor');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(135,'John Smith');
Query OK, 1 row affected (0.11 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+------+--------------+
| Id   | Name         |
+------+--------------+
|  201 | Chris Brown  |
|  110 | John Doe     |
|  101 | Adam Smith   |
|  345 | Carol Taylor |
|  135 | John Smith   |
+------+--------------+
5 rows in set (0.00 sec)

ORDERByフィールドへのクエリは次のとおりです。 Id 101は一番上に残り、残りのレコードは同じ順序で表示されます-

mysql> select *from DemoTable
   -> order by (Id=101) desc;

これにより、次の出力が生成されます-

+------+--------------+
| Id   | Name         |
+------+--------------+
| 101  | Adam Smith   |
| 201  | Chris Brown  |
| 110  | John Doe     |
| 345  | Carol Taylor |
| 135  | John Smith   |
+------+--------------+
5 rows in set (0.00 sec)

  1. 曜日を含む日付レコードを減算し、レコードを含む曜日を表示するMySQLクエリ

    これには、DATE_FORMAT()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1820      (      AdmissionDate varchar(20)      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1820 values('20/10/2019

  2. MySQL ORDER BY ASCで、下部にNULLを表示しますか?

    これには、ORDERBYでCASEステートメントを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1937    (    Name varchar(20)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1937 values('Chris'); Query OK, 1 row affect