列が重複/三重データを保持しているMySQLテーブルのレコードをどのようにカウントしますか?
次のstock_itemという名前のテーブルがあり、列の数量の値が重複しているとします。つまり、アイテム名「Notebooks」と「Pencil」の場合、列「Quantity」の値が重複しているのは「40」で、アイテムの場合は「Shirts」、「Shoes」です。 'および'Trousers'の3つの値29は、表に示されているように、列'quantity'によって保持されます。
mysql> Select * from stock_item; +------------+----------+ | item_name |quantity | +------------+----------+ | Calculator | 89 | | Notebooks | 40 | | Pencil | 40 | | Pens | 32 | | Shirts | 29 | | Shoes | 29 | | Trousers | 29 | +------------+----------+ 7 rows in set (0.00 sec)
次のクエリを使用すると、「数量」列で重複/三重の値の総数を見つけることができます。
mysql> Select COUNT(quantity) AS duplicate_triplicate -> from stock_item -> group by quantity having duplicate_triplicate> 1; +----------------------+ | duplicate_triplicate | +----------------------+ | 3 | | 2 | +----------------------+ 2 rows in set (0.00 sec)
上記の結果は、列「数量」の値が3回繰り返され、値が2回繰り返されていることを示しています。
-
そのテーブルの列値がMySQLの別のテーブルの列値と一致する場合にのみ、あるテーブルからデータを選択するにはどうすればよいですか?
このために、EXISTSとともにサブクエリを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1 -> ( -> Id int, -> SubjectName varchar(20) -> ); Query OK, 0 rows affected (0.58 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1 val
-
レコードが重複しているMySQLテーブルから単一の値を削除するにはどうすればよいですか?
DELETEを使用してレコードを削除しますが、重複するレコードが複数ある場合は、次の構文のようにMySQLLIMITを使用して削除を制限します- 構文 delete from yourTableName where yourColumnName=yourValue limit 1; まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Amount int -> ); Query OK, 0 rows affected (1.38 sec