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

MySQLで異なるIDを持つ同じテーブルから共通の値を持つ行を取得します


このために、GROUPBYHAVING句を使用できます。まずテーブルを作成しましょう-

mysql> create table DemoTable1467
   -> (
   -> Id int,
   -> Name varchar(20)
   -> );
Query OK, 0 rows affected (0.64 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1467 values(100,'Chris');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable1467 values(110,'David');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1467 values(120,'Mike');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1467 values(100,'Chris');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1467 values(130,'Carol');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1467 values(100,'Chris');
Query OK, 1 row affected (0.20 sec)
>

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

mysql> select * from DemoTable1467;

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

+------+-------+
| Id   | Name |
+------+-------+
|  100 | Chris |
|  110 | David |
|  120 | Mike  |
|  100 | Chris |
|  130 | Carol |
|  100 | Chris |
+------+-------+
6 rows in set (0.00 sec)

これは、IDが異なる同じテーブルから共通の値を持つ行を取得するためのクエリです-

mysql> select Id,Name,count(*) as IdCount from DemoTable1467
   -> group by Id
   -> having IdCount > 2;

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

+------+-------+---------+
| Id   | Name |  IdCount |
+------+-------+---------+
|  100 | Chris |       3 |
+------+-------+---------+
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. Javaを使用してMySQLデータベースのテーブルから最後のレコードを取得しますか?

    MySQLデータベースからデータを取得するには、JavaのexecuteQuery()メソッドを使用する必要があります。まず、MySQLデータベースにテーブルを作成します。ここでは、「サンプル」データベースに次のテーブルを作成します mysql> create table javaGetDataDemo - > ( - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, - > FirstName varchar(10), - > LastName varchar(10) - > ); Query OK, 0 rows