在GROUP BY之後統計記錄數
使用同時包含SELECT和GROUP BY子句的SQL語句時,需要確定分組後記錄的總數。本文旨在指導如何在SQL查詢中直接實現此目標。
舉例說明,我們有一個名為user的表,其中包含一個town欄位。目標是獲取不同城鎮的清單以及每個城鎮對應的用戶總數。為此,我們可以將COUNT聚合函數與GROUP BY子句結合使用:
SELECT `town`, COUNT(*) AS `total_users` FROM `user` GROUP BY `town`;
透過使用COUNT(*)函數,我們在分組完成後計算每個城鎮出現的次數。產生的表將提供所需輸出,其中包括城鎮名稱及其各自的使用者計數。
需要注意的是,COUNT、MAX、COUNT DISTINCT等聚合函數可以在GROUP BY語句中使用以進一步操作資料。
此外,可以宣告一個變數來儲存使用者總數,然後將其加入後續的SELECT語句中以顯示該值:
DECLARE @numOfUsers INT; SET @numOfUsers = (SELECT COUNT(*) FROM `user`); SELECT DISTINCT `town`, @numOfUsers AS `total_users` FROM `user`;
這種方法允許我們在最終輸出中明確指定使用者總數以及城鎮名稱。
以上是如何計算 SQL GROUP BY 子句後的記錄數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!