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

MySQL FIND_IN_SET()関数を使用して、結果セットとしてテーブルから特定のレコードを取得するにはどうすればよいですか?


FIND_IN_SET()関数の引数として列の特定の文字列と名前を指定することにより、結果セットとしてレコードを取得できます。また、FIND_IN_SET()関数でWHERE句を使用する必要があります。それを理解するために、テーブル「student_info」からの以下のデータを使用しています:

mysql> Select * from student_info;
+------+---------+----------+------------+
| id   | Name    | Address  | Subject    |
+------+---------+----------+------------+
| 101  | YashPal | Amritsar | History    |
| 105  | Gaurav  | Jaipur   | Literature |
| 125  | Raman  | Shimla    | Computers  |
+------+---------+----------+------------+
3 rows in set (0.00 sec)

次のクエリでは、FIND_IN_SET()関数を使用して、学生の名前が「Raman」である結果セットとして特定のレコードを取得します。

mysql> Select Id, Name, Subject from Student_info Where FIND_IN_SET('Raman',Name);
+------+-------+-----------+
| Id   | Name  | Subject   |
+------+-------+-----------+
| 125  | Raman | Computers |
+------+-------+-----------+
1 row in set (0.00 sec)

  1. MySQLのテーブルから最後から2番目のレコードを取得するにはどうすればよいですか?

    最後のレコードの前、つまりMySQLで最後から2番目のレコードを取得するには、サブクエリを使用する必要があります。 構文は次のとおりです SELECT *FROM (SELECT *FROM yourTableName ORDER BY yourIdColumnName DESC LIMIT 2) anyAliasName ORDER BY yourIdColumnName LIMIT 1; まず、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです mysql> create table lastRecordBeforeLastOne    

  2. 従業員の給与の記録を持つMySQLテーブルから上位3つの給与を取得するにはどうすればよいですか?

    これには、LIMITとOFFSETを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable867(EmployeeSalary int); Query OK, 0 rows affected (0.64 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable867 values(63737); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable867 values(899