テーブルマーク
ID名前ペイ
1 チャン・サン 1000
2 ワン・レイ 1200
3 チャン・サン 5853
4 ワン・ウー 8574
5 身長 1259 6 身長 985
========= = == =======
名前フィールドの繰り返し値をクエリするにはどうすればよいですか? SQL の書き方がわかりません。希望する結果は、張三が何回出現するか、王雷が何回出現するかです。 、そしてトールが何回登場するか。
また、「group by」の使い方と意味がよくわかりませんが、もっとわかりやすく説明していただけないでしょうか。
グループ化キー
はグループ化する対象に基づいています
SELECT 句の列名は、グループ化列または列関数である必要があります。列関数は、GROUP BY 句で定義されたグループごとに 1 つの結果を返します。
従業員情報テーブルの構造とデータは次のとおりです:
ID 名前 部門給与 学歴レベル 採用日
1 Zhang San 開発部門 2000 3 2009-10-11
2 Li Si 開発部門 2500 3 2009-10-01
3 Wang Wu デザイン部 2600 5 2010-10-02
4 Wang Liu デザイン部 2300 4 2010-10-03
5 Ma Qi デザイン部 2100 4 2010-10-06
6 Zhao Ba 営業部 3000 5 2010 -10-05
7 Qian Jiu 営業部 3100 7 2010-10-07
8 Sun Shi 営業部 3500 7 2010-10-06
たとえば、各部門の最高給与の結果を一覧表示したい場合、SQL ステートメントは次のようになります。
SELECT DEPT, MAX(SALARY) AS Maximum om From Staff
部門ごとにグループ化
クエリ結果は次のとおりです:
DEPT MAXIMUM
開発部門 2500
設計部門 2600
営業部門 3500
この結果を説明してください:
1. SELECT には GROUP BY DEPT に含まれる DEPT 列があるため、「SELECT 句文はグループまたは列関数のグループ列である必要があります」の名前。
2. 「列関数は、GROUP BY 句で定義されたグループごとに 1 つの結果を返します。」 部門のグループ化に従って、部門ごとに 1 つの結果、つまり各部門の最大給与を返します。
注: MAX(SALARY) は、会社全体ではなく、部門 (GROUP BY 句で定義されたグループ) ごとに計算されます。
2階が正解です。しかし、その単語の綴りは間違っています。
SELECT NAME, COUNT(*) FROM mark GROUP BY NAME;
以前、面接でこんな質問があったのを覚えています。
group by 構文は、指定されたデータ列の各メンバーに従ってクエリ結果をグループ化し、最終的にグループ概要テーブルを取得できます。
SELECT 句の列名は、グループ化列または列関数である必要があります。列関数は、GROUP BY 句で定義されたグループごとに 1 つの結果を返します。
従業員情報テーブルの構造とデータは次のとおりです:
ID 名前 部門給与 学歴レベル 採用日
1 Zhang San 開発部門 2000 3 2009-10-11
2 Li Si 開発部門 2500 3 2009-10-01
3 Wang Wu デザイン部 2600 5 2010-10-02
4 Wang Liu デザイン部 2300 4 2010-10-03
5 Ma Qi デザイン部 2100 4 2010-10-06
6 Zhao Ba 営業部 3000 5 2010 -10-05
7 Qian Jiu 営業部 3100 7 2010-10-07
8 Sun Shi 営業部 3500 7 2010-10-06
たとえば、各部門の最高給与の結果をリストしたいとします。 SQL ステートメントは次のとおりです。
SELECT DEPT, MAX(SALARY) AS Maximum om From Staff
部門ごとにグループ化
クエリ結果は次のとおりです:
DEPT MAXIMUM
開発部門 2500
設計部門 2600
営業部門 3500
この結果を説明してください:
1. SELECT には GROUP BY DEPT に含まれる DEPT 列があるため、「SELECT 句文はグループまたは列関数のグループ列である必要があります」の名前。
2. 「列関数は、GROUP BY 句で定義されたグループごとに 1 つの結果を返します。」 部門のグループ化に従って、部門ごとに 1 つの結果、つまり各部門の最大給与を返します。
注: MAX(SALARY) は、会社全体ではなく、部門 (GROUP BY 句で定義されたグループ) ごとに計算されます。
group by meansグループ化
グループ化がある場合は、指定された列の内容でグループ化します
グループ化がない場合は、すべてのレコードが 1 つのグループとしてカウントされます