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

レコードを注文するMySQLクエリですが、特定の名前を修正し、残りの値(一部のみ)をランダムに表示します


このために、LIMITを指定してORDER BY RAND()を使用できます。まず、-

を作成しましょう
mysql> create table DemoTable1426
   -> (
   -> FirstName varchar(20)
   -> );
Query OK, 0 rows affected (0.59 sec)

insert-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1426 values('John');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1426 values('Adam');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1426 values('Robert');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1426 values('David');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1426 values('Sam');
Query OK, 1 row affected (0.13 sec)

select-

を使用してテーブルのすべてのレコードを表示します
mysql> select * from DemoTable1426;

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

+-----------+
| FirstName |
+-----------+
| John      |
| Adam      |
| Robert    |
| David     |
| Sam       |
+-----------+
5 rows in set (0.00 sec)

以下は、レコードを注文するためのクエリですが、特定の名前を修正し、残りの値(一部のみ)をランダムに表示します-

mysql> select * from DemoTable1426 order by (FirstName='Robert') desc,RAND()
   -> limit 3;

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

+-----------+
| FirstName |
+-----------+
| Robert    |
| Adam      |
| David     |
+-----------+
3 rows in set (0.52 sec)

  1. MySQLのNULLおよびNOTNULLレコードを含む列からのNOTNULL値のみを表示します

    このために、ISNOTNULLプロパティを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1      (      DueDate date      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1 values('2019-09-10'); Query OK,

  2. 特定の列の値を修正し、MySQLの残りの行のランダムな値を表示します

    ランダムな行の場合はRAND()を使用できますが、特定の列を修正するにはORDERBY句を使用します。テーブルを作成しましょう- mysql> create table DemoTable1921    (    Number int    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1921 values(40); Query OK, 1 row affecte