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

SQLですべての代替行を選択し、降順で表示するにはどうすればよいですか?


すべての代替行をフェッチするには、WHEREでMOD()を使用します。次に、ORDER BY DESCを使用して、結果を降順で表示します-

select *from yourTableName where mod(yourColumnName,2)=1 order by yourColumnName DESC;

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

mysql> create table DemoTable
(
   UniqueId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   ClientName varchar(40),
   ClientAge int
);
Query OK, 0 rows affected (1.02 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable(ClientName,ClientAge) values('Chris',34);
Query OK, 1 row affected (0.47 sec)
mysql> insert into DemoTable(ClientName,ClientAge) values('Tom',45);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable(ClientName,ClientAge) values('Sam',36);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(ClientName,ClientAge) values('Carol',42);
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable(ClientName,ClientAge) values('David',38);
Query OK, 1 row affected (0.12 sec)

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

mysql> select *from DemoTable;

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

+----------+------------+-----------+
| UniqueId | ClientName | ClientAge |
+----------+------------+-----------+
|        1 | Chris      |        34 |
|        2 | Tom        |        45 |
|        3 | Sam        |        36 |
|        4 | Carol      |        42 |
|        5 | David      |        38 |
+----------+------------+-----------+
5 rows in set (0.00 sec)
>

次に、すべての代替行を選択して、降順で表示します-

mysql> select *from DemoTable where mod(UniqueId,2)=1 order by UniqueId DESC;

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

+----------+------------+-----------+
| UniqueId | ClientName | ClientAge |
+----------+------------+-----------+
|        5 | David      |        38 |
|        3 | Sam        |        36 |
|        1 | Chris      |        34 |
+----------+------------+-----------+
3 rows in set (0.00 sec)
>
  1. MySQLで次の行のページネーションを選択するにはどうすればよいですか?

    これには、LIMITの概念を使用します。テーブルを作成しましょう- mysql> create table demo40 −> ( −> id int not null auto_increment primary key, −> name varchar(40) −> ); Query OK, 0 rows affected (1.73 sec) 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 mysql> insert into demo40(name) values('Ch

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

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