文章詳情頁
Mysql中強大的group?by語句解析
瀏覽:2日期:2023-06-16 19:39:11
目錄group by語句介紹實例建表 user表(1)基本用法(2)GROUP BY語句中的GROUP_CONCAT函數()(3)利用 count函數來查詢性別的總人數(4)where語句(5)SUM MAX MIN AVG 函數(6)HAVING 子句(7)WITH ROLLUP 子句:結尾group by語句介紹
GROUP BY 語句根據一個或多個列對結果集進行分組。在分組的列上我們可以使用 COUNT, SUM, AVG,等函數。
工具:
sqlyog
實例建表 user表CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, `number` int(11) DEFAULT NULL, `sex` varchar(4) COLLATE utf8_unicode_ci DEFAULT NULL, `salary` int(11) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci信息就不補充了~
(1)基本用法根據性別 sex 來進行分組,查詢 user 表中的姓名,年齡,性別。雖然是分組了,但只顯示一個用戶,其他的不顯示。
SELECT NAME,age,sex FROM USER GROUP BY sex;根據 sex 字段,來查詢 name字段和 age字段的詳細信息。
SELECT sex ,GROUP_CONCAT(NAME), GROUP_CONCAT(age)FROM USER GROUP BY sex;根據 sex 字段來查詢 name 字段的詳細信息和 sex 字段性別的人數。
SELECT sex ,GROUP_CONCAT(NAME),COUNT(sex) FROM USER GROUP BY sex;根據 sex字段進行分組,用 where語句來查詢年齡大于25的人數
SELECT sex ,GROUP_CONCAT(NAME),COUNT(sex) FROM USER WHERE age >25 GROUP BY sex;根據 sex 用 SUM MAX MIN AVG 函數來查詢用戶的總資金,最大資金,最小資金,平局資金
SELECT sex ,GROUP_CONCAT(NAME),COUNT(sex),SUM(salary),MAX(salary),MIN(salary),AVG(salary) FROM USER GROUP BY sex;在 SQL 中增加 HAVING 子句原因是,WHERE 關鍵字無法與聚合函數一起使用。 HAVING 子句可以讓我們篩選分組后的各組數據。 根據 sex 語句進行分組,來查詢各組中資金大于1500的組
SELECT sex ,GROUP_CONCAT(NAME),COUNT(sex) FROM USER GROUP BY sex HAVING SUM(salary)>1500;WITH ROLLUP 可以實現在分組統計數據基礎上再進行相同的統計(SUM,AVG,COUNT…)。
SELECT sex ,GROUP_CONCAT(NAME),COUNT(sex),SUM(salary),MAX(salary),MIN(salary),AVG(salary) FROM USER GROUP BY sex WITH ROLLUP;從中發現 GROUP BY 函數還是十分強大的,使得分組查找效率更高!
到此這篇關于Mysql中強大的group by語句解析的文章就介紹到這了,更多相關Mysql的group by語句內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
排行榜