サーチ…


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