MySQL は現在最も人気のあるリレーショナル データベース管理システムであり、データの保存と処理の分野で広く使用されています。実際のアプリケーションでは、一意のデータをクエリすることが一般的な要件です。この記事では、MySQL で固有のデータをクエリする方法を紹介します。
1. 非重複データの行全体をクエリする
MySQL では、DISTINCT キーワードまたは GROUP BY 句を使用して、非重複データをクエリできます。データの行全体。GROUP BY 句はデータの各列をグループ化し、結果を返します。
DISTINCT キーワードを使用して、重複するデータ行全体を除外します。構文は次のとおりです:
SELECT DISTINCT column1, column2, ... FROM table_name;
Among them 、column1 および column2 、... は、一意のデータをフィルタリングする必要がある列名を示します。1 つ以上の列を指定でき、複数の列はカンマで区切られます。
たとえば、次のような学生テーブル (students) があります:
id | name | age | 性別 |
---|---|---|---|
张三 | 20 | 男 | |
李四 | 21 | 男性 | |
王呉 | 20 | 女 | |
趙劉 | 22 | 女性 | |
Qian Qi | 21 | 男性 | |
Sunba | 20 | 女 |
SELECT DISTINCT * FROM students;
name | age | 性別 | |
---|---|---|---|
张三 | 20 | 男性 | |
李4 | 21 | 男性 | |
王五 | 20 | 女 | |
赵六 | #22 | 女 | |
銭琦 | 21 | 男性 | |
Sun Ba | 20 | 女 |
GROUP BY 句の構文は次のとおりです。
SELECT column1, column2, ... FROM table_name GROUP BY column1, column2, ...;
たとえば、学生の年齢と性別に基づいて一意のデータをクエリする必要がある場合は、次の SQL ステートメントを使用できます。 :
SELECT age, gender FROM students GROUP BY age, gender;
実行結果は以下の通りです:
性別 | |
---|---|
20 | |
21 | |
22 | |
サブクエリを使用する
SELECT age FROM students WHERE age IN (SELECT DISTINCT age FROM students);
21 |
22 |
ご覧のとおり、サブクエリを使用すると、特定の列の一意のデータをフィルターし、必要な結果を返すことができます。 |
SELECT gender FROM students GROUP BY gender;
実行結果は次のとおりです:
####### ##性別女性男性#########
ご覧のとおり、GROUP BY 句を使用すると、一部の列で重複しないデータをクエリする機能も実現できます。
以上がMySQL で固有のデータをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。