mysql中group by與order by講解

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 ; #升序排

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章