1つまたは2つの列に基づいて重複するMySQL行をすべて選択しますか?
このためには、HAVING句とともにサブクエリを使用します。まずテーブルを作成しましょう-
mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName varchar(20), StudentLastName varchar(20) ); Query OK, 0 rows affected (0.27 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable(StudentFirstName,StudentLastName) values('John','Smith'); Query OK, 1 row affected (0.04 sec) mysql> insert into DemoTable(StudentFirstName,StudentLastName) values('Carol','Taylor'); Query OK, 1 row affected (0.04 sec) mysql> insert into DemoTable(StudentFirstName,StudentLastName) values('John','Doe'); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable(StudentFirstName,StudentLastName) values('John','Brown'); Query OK, 1 row affected (0.05 sec) mysql> insert into DemoTable(StudentFirstName,StudentLastName) values('David','Miller'); Query OK, 1 row affected (0.06 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+-----------+------------------+-----------------+ | StudentId | StudentFirstName | StudentLastName | +-----------+------------------+-----------------+ | 1 | John | Smith | | 2 | Carol | Taylor | | 3 | John | Doe | | 4 | John | Brown | | 5 | David | Miller | +-----------+------------------+-----------------+ 5 rows in set (0.00 sec)
以下は、1つまたは2つの列に基づいてすべての重複行を選択するためのクエリです。ここでは、複数回出現する名前、つまり重複する名前を数えています-
mysql> select StudentId from DemoTable where StudentFirstName=(select StudentFirstName from DemoTable having count(StudentFirstName) > 1);
これにより、次の出力が生成されます-
+-----------+ | StudentId | +-----------+ | 1 | | 3 | | 4 | +-----------+ 3 rows in set (0.03 sec)
-
MySQLで列を行に結合しますか?
列を行に結合するには、UNIONALLを使用します。以下は構文です- 構文 select yourColumnName1 from yourTableName union all select yourColumnName2 from yourTableName; まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Value1 int, -> Value2 int -> );
-
MySQLで最大2列の合計を選択します
2つの列の合計の最大値を選択するには、サブクエリとともに集計関数MAX()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1587 -> ( -> Value1 int, -> Value2 int -> ); Query OK, 0 rows affected (0.59 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoT