1. 程式人生 > 實用技巧 >MySql查詢,聚合函式,分組,分頁,排序等複雜查詢

MySql查詢,聚合函式,分組,分頁,排序等複雜查詢

--聚合(分組)函式

count(*):統計個數
max(列名):最大值
min(列名):最小值
sum(列名):求和
avg(列名):平均值

  -舉例

-- 總條數
SELECT COUNT(*) AS 總數 FROM student;
-- 查詢年齡大於40的總數
SELECT COUNT(*) FROM student WHERE age > 40;
-- 查詢數學成績總分
SELECT SUM(math) FROM student;
-- 查詢數學成績平均分
SELECT AVG(math) FROM student;
-- 查詢數學成績最高分
SELECT MAX(math) FROM
student; -- 查詢數學成績最低分 SELECT MIN(math) FROM student;

--分組

1. 語法
  select 分組列 from 表名 group by 分組列 having 分組後條件篩選
        
2. wherehaving 區別
  where在分組前進行條件篩選,不支援聚合函式
  having在分組後進行條件篩選,支援聚合函式

  -舉例

-- 統計男生女生各多少人,在同一條sql實現...
SELECT sex,COUNT(*) FROM student GROUP BY sex;
-- 查詢年齡大於25歲的人,按性別分組,統計每組的人數,並只顯示性別人數大於2的資料
SELECT sex,COUNT(*) FROM student GROUP BY sex HAVING COUNT(*) > 2;

--分頁

1. 語法
  select ... from 表名 limit 開始索引,每頁顯示個數;
        
2. 索引特點
  索引起始值是0;可以省略,預設值也是0
        
3. 分頁索引公式
  開始索引 = (當前頁-1) × 每頁個數
-- 分頁
SELECT * FROM student LIMIT 5;