sqlクリーンアップ!!
GROUP BY
SELECT Country, City, CONCAT_WS(', ',City,Country)
FROM Customers
GROUP BY Country, City;
このようにGROUP BYをすると、国も都市も縛られます.SELECT
ProductID, Sum(Quantity) AS QuantitySum
FROM OrderDetails
GROUP BY ProductID
ORDER BY QuantitySum DESC
ProductIDパケットを使用すると、対応するPoductIDの数の和を求めることができる.SELECT
Country, COUNT(*)
FROM Suppliers
GROUP BY Country
WITH ROLLUP;
WITH ROLLUPを使用すると、最後の行に要約を出力できます.しかしこれはORDER BYとは併用できませんHAVINGセクションを使用した条件の追加
groupbyで組み合わせた結果値を条件出力できます.
whereパケットの前にhaveを用いてパケット後の統計->where条件文を条件文に先に打ってgroupbyを打つ場合は、where条件を先に打ってgroupby文を書けばよい.
SELECT
CategoryID,
MAX(Price) AS MaxPrice,
MIN(Price) AS MinPrice,
TRUNCATE((MAX(Price) + MIN(Price)) / 2, 2) AS MedianPrice,
TRUNCATE(AVG(Price), 2) AS AveragePrice
FROM Products
WHERE CategoryID > 2
GROUP BY CategoryID
HAVING
AveragePrice BETWEEN 20 AND 30
AND MedianPrice < 40;
DISTINCT
distinctでは、集約関数は使用できません.groupbyとは異なり、ソートされていないので、速度が速いです.order byでソートできます.
Reference
この問題について(sqlクリーンアップ!!), 我々は、より多くの情報をここで見つけました https://velog.io/@baek_su/sql-정리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol