SQL 高級教程

一、AVG

  1. 從 “access_log” 表的 “count” 列獲取平均值
    在這裏插入圖片描述
  2. 訪問量高於平均訪問量的 “site_id” 和 “count”:
    select site_id,count from access_log where count > (select avg(count) from access_log);
    在這裏插入圖片描述

二、COUNT

1.計算 “access_log” 表中 “site_id”=3 的訪問次數
在這裏插入圖片描述
2. 計算 “access_log” 表中總記錄數
在這裏插入圖片描述
3. 計算 “access_log” 表中不同 site_id 的記錄數:
select count(distinct site_id) as nums from access_log;
在這裏插入圖片描述

三、FIRST、LAST

  1. 選取 “Websites” 表的 “name” 列中第一個記錄的值:在這裏插入圖片描述
  2. 最後一個
    3.

四、MAX、MIN

  1. 下面的 SQL 語句從 “Websites” 表的 “alexa” 列獲取最大值:在這裏插入圖片描述
  2. 從 “Websites” 表的 “alexa” 列獲取最小值:
    3.

五、SUM

  1. 查找 “access_log” 表的 “count” 字段的總數:
    2.

六、GROUP BY

  1. 統計 access_log 各個 site_id 的訪問量:
    2.
  2. 統計有記錄的網站的記錄數量
    select Websites.name,count(access_log.aid) from access_log left join Websites on access_log.site_id=Websites.id group by Websites.name;
    3.

七、HAVING

WHERE 關鍵字無法與聚合函數一起使用。
HAVING 子句可以讓我們篩選分組後的各組數據

  1. 查找總訪問量大於 200 的網站。
    select Websites.name,Websites.url,sum(access_log.count) from (access_log join Websites on access_log.site_id=Websites.id) group by Websites.name,Websites.url having sum(access_log.count)>200;在這裏插入圖片描述
  2. 查找總訪問量大於 200 的網站,並且 alexa 排名小於 200。
    select w.name,sum(a.count) from Websites w join access_log a on w.id=a.site_id where w.alexa<200 group by w.name having sum(a.count)>200;
    在這裏插入圖片描述

八、UCASE、LCASE

從 “Websites” 表中選取 “name” 和 “url” 列,並把 “name” 列的值轉換爲大寫:
在這裏插入圖片描述
小寫
在這裏插入圖片描述

九、MID

從 “Websites” 表的 “name” 列中提取前 4 個字符:在這裏插入圖片描述

十、LEN

選取 “name” 和 “url” 列中值的長度:
在這裏插入圖片描述

十一、ROUND

  1. ROUND(X): 返回參數X的四捨五入的一個整數。
    mysql> select ROUND(-1.23); -> -1
    mysql> select ROUND(-1.58); -> -2
    mysql> select ROUND(1.58); -> 2
  2. ROUND(X,D): 返回參數X的四捨五入的有 D 位小數的一個數字。如果D爲0,結果將沒有小數點或小數部分。
    mysql> select ROUND(1.298, 1); -> 1.3
    mysql> select ROUND(1.298, 0); -> 1

ROUND 返回值被變換爲一個BIGINT!

十二、NOW

  1. 從 “Websites” 表中選取 name,url,及當天日期:在這裏插入圖片描述

十三、FORMAT

  1. 從 “Websites” 表中選取 name, url 以及格式化爲 YYYY-MM-DD 的日期:
    2.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章