SQLベースGROUP BY、HAVING


GROUP BY

  • 1,21と書くよりも、後でメンテナンスするために列名を書いたほうがいいです.
  • SELECT SupplierID, AVG(Price)
    FROM Products
    GROUP BY SupplierID
    SELECT SupplierID, CategoryID, AVG(Price)
    FROM Products
    GROUP BY SupplierID, CategoryID

    HAVING

  • 例)平均価格が100ドル以上のサプライヤーとcategoryを見たいです.
  • SELECT SupplierID, CategoryID, AVG(Price)
    FROM Products
    GROUP BY SupplierID, CategoryID
    HAVING AVG(price) >= 100
    WHEREを使用する場合は100ドル以上をフィルタリングしてグループ化してHAVINGを組み合わせて使用します

    ハッカーランキングの回答:

  • ハッカーランキング1位Earnersの問題
  • SELECT months * salary AS earnings, COUNT(*)
    FROM employee
    GROUP BY earnings
    ORDER BY earnings DESC 
    LIMIT 1