MySQLでunionとorderby句を使用するにはどうすればよいですか?
Unionは、MySQLの一種の演算子です。これでORDERBYを使用して、レコードをフィルタリングできます。複数のテーブルから次々に行を選択する場合、または単一のテーブルから複数の行セットをすべて単一の結果セットとして選択する場合は、UNIONを使用します。
例を見てみましょう。
最初のテーブルを作成する
mysql> create table UnionDemo1 -> ( -> id int -> ); Query OK, 0 rows affected (0.59 sec)
最初のテーブルにレコードを挿入します。
mysql> insert into UnionDemo1 values(1),(4),(10); Query OK, 3 rows affected (0.21 sec) Records: 3 Duplicates: 0 Warnings: 0
すべてのレコードを表示します。
mysql> select *from UnionDemo1;
以下は、すべてのレコードを表示する出力です。
+------+ | id | +------+ | 1 | | 4 | | 10 | +------+ 3 rows in set (0.00 sec)
2番目のテーブルを作成しましょう。
mysql> create table UnionDemo2 -> ( -> id int -> ); Query OK, 0 rows affected (0.54 sec)
2番目のテーブルにレコードを挿入します。
mysql> insert into UnionDemo2 values(2),(3),(5),(6),(7),(8),(9); Query OK, 7 rows affected (0.21 sec) Records: 7 Duplicates: 0 Warnings: 0
すべてのレコードを表示します。
mysql> select *from UnionDemo2;
これが出力です。
+------+ | id | +------+ | 2 | | 3 | | 5 | | 6 | | 7 | | 8 | | 9 | +------+ 7 rows in set (0.00 sec)
ここで、Orderbyを使用してUNIONを適用するためのクエリを見てみましょう。
mysql> select id from UnionDemo1 -> union -> select id from UnionDemo2 -> order by id desc;
以下は出力です。
+------+ | id | +------+ | 10 | | 9 | | 8 | | 7 | | 6 | | 5 | | 4 | | 3 | | 2 | | 1 | +------+ 10 rows in set (0.05 sec)
-
ORDER BYフィールドを使用して、単一のMySQLフィールドでIDで並べ替える方法は?
これには、ORDERBYFIELDを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> ); Query OK, 0 rows affected (1.78 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(101,'
-
MySQL GROUP BY句の行を並べ替える、または選択する方法は?
まずテーブルを作成しましょう- mysql> create table DemoTable1572 -> ( -> StudentId int, -> StudentMarks int, -> StudentName varchar(20) -> ); Query OK, 0 rows affected (0.56 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert i