[英]How write sql query group by?
分組依據用於識別數據集群中的計數、最大值、最小值、平均值等。 更清楚地說,例如您有包含制造、顏色、價格字段的 Cars 表。 並且您想查看不同顏色的汽車數量(這將是不同顏色的集群),您可以使用以下查詢
按顏色從汽車組中選擇計數(1),顏色;
輸出將如下所示
藍3
灰色 17
紅5
注意:您在 group by 中使用的任何列也將在選擇列中使用。 在上面的例子中,如果添加更多字段,我使用顏色分組,例如 make 它將有兩個 cluster(color,make) 輸出將是
福特藍 3
福特灰色 7
本田紅5
本田灰色 10
因此,您可以在對數據(如計數、最小值、最大值、平均值、排名等)進行分組之前確定需要執行的函數。如果您想要選擇子句中的所有字段,則必須使用分析函數。 使用示例數據和預期輸出編輯您的問題,如果需要,我也可以通過分析查詢為您提供答案。
感謝您編輯您的問題示例數據會更清楚,但我仍然會繼續我的理解。 我在這里使用分析函數作為解決方案
Select artgrpid,description,descid,relgroupid,
artdeptid,default,name,brand,questions,
ROW_NUMBER() over (Prtition by artdeptid order by artdeptid) from
artgrp;
您可以使用 rank() 或 count(1) 等代替 ROW_NUMBER()。
SELECT d.description, d.lifetime, d.name, COUNT(d.artdeptid) as Departments
FROM artgrp g INNER JOIN arddept d ON g.artdeptid = d.artdeptid
WHERE regroudid = "11"
GROUP BY d.description, d.lifetime, d.name
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.