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

カンマ区切りの値を使用してMySQLでランダムな行をフェッチするにはどうすればよいですか?


MySQLでランダムな行をフェッチするには、ORDER BY RAND()を使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable1835
     (
     ListOfIds varchar(20)
     );
Query OK, 0 rows affected (0.00 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1835 values('10,20,30');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1835 values('70,80,90');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1835 values('45,67,89');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1835 values('98,96,49');
Query OK, 1 row affected (0.00 sec)

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

mysql> select * from DemoTable1835;

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

+-----------+
| ListOfIds |
+-----------+
| 10,20,30  |
| 70,80,90  |
| 45,67,89  |
| 98,96,49  |
+-----------+
4 rows in set (0.00 sec)

MySQLでランダムな行をフェッチするためのクエリは次のとおりです

mysql> select * from DemoTable1835
     where ListOfIds NOT IN(10,20,70) order by rand()
     limit 2;

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

+-----------+
| ListOfIds |
+-----------+
| 98,96,49  |
| 45,67,89  |
+-----------+
2 rows in set, 4 warnings (0.00 sec)

  1. 単一のMySQLクエリで複数の行を挿入する方法は?

    カンマ(、)で区切られたvalues()を使用して、複数の行を挿入できます。構文は次のとおりです- insert into yourTableName values(value1,value2,...N),(value1,value2,...N),(value1,value2,...N),(value1,value2,...N),(value1,value2,...N),(value1,value2,...N)................N; 複数の行を挿入するには、テーブルを作成しましょう。以下は、テーブルを作成するためのクエリです- mysql> create table Mu

  2. PHPとMySQLで「ブール」値を処理する方法は?

    MySQLバージョン8.0.12を使用しています。まず、MySQLのバージョンを確認しましょう: mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12    | +-----------+ 1 row in set (0.00 sec) MySQLでブール値を処理するには、BOOL、BOOLEAN、またはTINYINT(1)を使用できます。 BOOLまたはBOOLEANを使用する場合、MySQLはそれを内部でTINYINT(1)に変換します。 BOOLまたはBOOLE