SQL
SQL Group by vs Distinct
サーチ…
GROUP BYとDISTINCTの違い
GROUP BY
は集約関数と組み合わせて使用されます。次の表を参照してください。
注文ID | ユーザーID | 店舗名 | オーダー値 | 注文日 |
---|---|---|---|---|
1 | 43 | 店舗A | 25 | 20-03-2016 |
2 | 57 | 店舗B | 50 | 22-03-2016 |
3 | 43 | 店舗A | 30 | 25-03-2016 |
4 | 82 | ストアC | 10 | 26-03-2016 |
5 | 21 | 店舗A | 45 | 29-03-2016 |
以下のクエリはGROUP BY
を使用して集約計算を実行します。
SELECT
storeName,
COUNT(*) AS total_nr_orders,
COUNT(DISTINCT userId) AS nr_unique_customers,
AVG(orderValue) AS average_order_value,
MIN(orderDate) AS first_order,
MAX(orderDate) AS lastOrder
FROM
orders
GROUP BY
storeName;
次の情報を返します
店舗名 | total_nr_orders | nr_unique_customers | average_order_value | 最初の注文 | lastOrder |
---|---|---|---|---|---|
店舗A | 3 | 2 | 33.3 | 20-03-2016 | 29-03-2016 |
店舗B | 1 | 1 | 50 | 22-03-2016 | 22-03-2016 |
ストアC | 1 | 1 | 10 | 26-03-2016 | 26-03-2016 |
DISTINCT
は、指定された列のDISTINCT
固有の組み合わせをリストするのに使用されます。
SELECT DISTINCT
storeName,
userId
FROM
orders;
店舗名 | ユーザーID |
---|---|
店舗A | 43 |
店舗B | 57 |
ストアC | 82 |
店舗A | 21 |
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow