mysql中group by 與order by的用法解析
1. group by的常規用法
group by的常規用法是配合聚合函數,利用分組信息進行統計,常見的是配合max等聚合函數篩選數據後分析,以及配合having進行篩選後過濾。
- 聚合函數max
- select max(user_id),grade from user_info group by grade ;
這條sql的含義很明確,將數據按照grade字段分組,查詢每組最大的user_id以及當前組內容。注意,這裏分組條件是grade,查詢的非聚合條件也是grade。這裏不產生衝突。
having
select max(user_id),grade from user_info group by grade having grade>'A'這條sql與上面例子中的基本相同,不過後面跟了having過濾條件。將grade不滿足’>A’的過濾掉了。注意,這裏分組條件是grade,查詢的非聚合條件也是grade。這裏不產生衝突。
-
聚合函數就是按照某種規則將特定字段進行規約,常見的聚合函數如:
(1)求個數:count
(2)求總和:sum
(3)求最大值:max
(4)求最小值:min
(5)求平均值:avg
1. order by的常規用法
select * from user_info order by user_id ASC ; #升序排