属性がa1
、a2
、...などの表Tab1
があるとします。属性は一意ではありません。GROUP BYはどのように機能しますか?
次のクエリの性質は何ですか?常に1つの行を返しますか?
SELECT a1, a2, sum(a3) FROM Tab1 GROUP BY a1, a2
属性がa1
、a2
、...などの表Tab1
があるとします。属性は一意ではありません。GROUP BYはどのように機能しますか?
次のクエリの性質は何ですか?常に1つの行を返しますか?
SELECT a1, a2, sum(a3) FROM Tab1 GROUP BY a1, a2
GROUP BY
は、GROUP BY
フィールドのユニークな組み合わせごとに1つのローを返します。したがって、あなたの例では、Tab1
の行で発生する(a1, a2)
のすべての明確な組み合わせは、フィールド値ごとのグループの指定された組み合わせを持つ行のグループを表すクエリの行になります。 SUM()
のような集計関数は、各グループのメンバ上で計算されます。
GROUP BY
GROUP BY
句内のフィールドの一意の組合せごとに一行を返します。 1行だけを確実にするには、、SUM
、MAX
- GROUP BY
句のない集合関数を使用する必要があります。
GROUP BY
グループはすべて同一のレコードです。
SELECT COUNT(ItemID), City
FROM Orders
GROUP BY City;
----------------------------------------
13 Sacrmento
23 Dallas
87 Los Angeles
5 Phoenix
あなたはCity
でグループを使用しない場合はそれだけでItemID
の合計数を表示します。
a1とa2の固有の組み合わせ(またはグループ)ごとに1つの行が返されます。ユニークな組み合わせが1つしかない場合は、1行しか取得できません。 –
そして合計は各グループでどれだけの行が終了したかを示します=) – jadarnel27