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

配列から一致する特定のレコードをフェッチするためのMySQLクエリ(コンマ区切り値)


カンマ区切りの値からレコードをフェッチするには、MySQL FIND_IN_SET()を使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable1548
   -> (
   -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> StudentName varchar(20),
   -> ArrayListOfMarks varchar(100)
   -> );
Query OK, 0 rows affected (0.88 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1548(StudentName,ArrayListOfMarks) values('Chris','56,78,90,87');
Query OK, 1 row affected (0.29 sec)
mysql> insert into DemoTable1548(StudentName,ArrayListOfMarks) values('Bob','90,78,65');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1548(StudentName,ArrayListOfMarks) values('David','91,34,56,78,87');
Query OK, 1 row affected (0.16 sec)

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

mysql> select * from DemoTable1548;

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

+-----------+-------------+------------------+
| StudentId | StudentName | ArrayListOfMarks |
+-----------+-------------+------------------+
|         1 | Chris       |    56,78,90,87   |
|         2 | Bob         |       90,78,65   |
|         3 | David       | 91,34,56,78,87   |
+-----------+-------------+------------------+
3 rows in set (0.00 sec)

カンマ区切りの値から一致する特定のレコードをフェッチするクエリは次のとおりです-

mysql> select * from DemoTable1548 where find_in_set('87',ArrayListOfMarks);

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

+-----------+-------------+------------------+
| StudentId | StudentName | ArrayListOfMarks |
+-----------+-------------+------------------+
|         1 | Chris       |    56,78,90,87   |
|         3 | David       | 91,34,56,78,87   |
+-----------+-------------+------------------+
2 rows in set (0.00 sec)

  1. 異なる形式で特定の日付の後のレコードをフェッチするためのMySQLクエリの日付を含むUNIX_TIMESTAMP?

    これには、次の形式の日付レコードがあるため、STR_TO_DATE()を使用できます:21/11/2019。 まずテーブルを作成しましょう- mysql> create table DemoTable1808      (      AdmissionDate varchar(20)      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTa

  2. カンマ区切りの値を使用して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(&