1. 程式人生 > >MYSQL必知必會:使用函式彙總處理資料

MYSQL必知必會:使用函式彙總處理資料

上一個部落格主要通過where進行簡單的資料過濾以及使用正則表示式對資料進行通配.這篇部落格主要來演示了mysql中函式的使用方法.

下面是表t3的結構和資料.
這裡寫圖片描述

之前通過where過濾後的結果集的欄位名都是使用表的欄位名.但這樣太死板了,於是我們可以使用concat()函式來進行資料的拼接,以及使用AS關鍵字來進行欄位的取別名顯示.

1.Concat
Sample1:我要把每個人的姓名和生日拼接成一個字串顯示.就可以使用concat()函式來進行自定義的拼接.
具體形式為:concat(引數1,引數2,引數3,…).每個引數之間使用逗號分隔.

這裡寫圖片描述

2.Count
Sample2:我要統計資料庫的記錄數量.可以使用Count()函式,引數可以為*或者1或者其他數字,也可以是任意的欄位名.比如:Count(score

).返回的是分數不為NULL的記錄的數量.Count()函式主要用來統計符合條件的記錄數量,常在分組資料時使用.

這裡寫圖片描述

下面還有兩個簡單的例子:針對整數,小數,字串的過濾都差不多了,但是對於日期的過濾是怎麼樣操作的呢?

Sample3:我要返回表中1997年出生的記錄的數量.
這裡寫圖片描述

Sample4:我要返回表中不在6月出生的記錄.
這裡寫圖片描述

3.時間相關函式
可以通過日期相關的函式來取出各個精確的時間部分進行過濾.有year(),month(),day(),Hour(),Minute(),Second()等等.同時可以使用CurDate(),CurTime(),Now()方法來獲取當前的準確日期時間.

這裡寫圖片描述

4.Avg
從名字就可以看出來這是一個就算平均值的方法,它的返回值是不會計算NULL值的.
Sample5:計算所有人的平均分.
這裡寫圖片描述

5.Max,Min
Max()和Min()函式用來得到某個欄位的最大值或者最小值.
Sample6:獲得分數最低的記錄.
不知道會不會有人會這麼做…這樣確實在t3表中是沒問題的.但是如果最低分不止一個人呢…這個時候這樣做就是有問題的了.
這裡寫圖片描述

可以先查詢到最高的分數,然後再查詢分數和最高的分數相同的記錄.
這裡寫圖片描述

相關推薦

MYSQL:使用函式彙總處理資料

上一個部落格主要通過where進行簡單的資料過濾以及使用正則表示式對資料進行通配.這篇部落格主要來演示了mysql中函式的使用方法. 下面是表t3的結構和資料. 之前通過where過濾後的結果集的欄位名都是使用表的欄位名.但這樣太死板了,於是我們可以使用

MySQL》學習筆記五(資料處理函式)------掌握部分

MySQL必知必會知識預覽 第一章——瞭解SQL 第二章——MySQL簡介 第三章——使用MySQL 第四章——檢索資料 第五章——排序檢索資料 第六章——過濾資料 第七章——資料過濾 第八章——用萬用字元進行過濾 第九章——

mysql》讀書筆記--觸發器及管理事務處理

sql drop 是不是 回退 blog mysql語句 update inno eat 觸發器   觸發器是MySQL響應DELETE,INSERT,UPDATE而自動執行的一條MySQL語句,其他語句不支持觸發器。   創建觸發器時,需要4個條件;     唯一的觸發

sql學習記錄(八)- 資料處理函式

sql必知必會學習記錄(八)-資料處理函式 本次記錄內容主要包括sql必知必會第8章使用資料處理函式的相關內容 大多數sql支援以下型別的函式: 用於處理文字串(如刪除或填充值,轉換為大寫或者小寫)的文字函式 用於在數值資料上進行算術操作(如返回絕

SQL—使用資料處理函式

《SQL必知必會》讀書筆記 1.函式 與幾乎所有DBMS都等同地支援SQL語句(如SELECT)不同,每一個DBMS都有特定的函式。事實上,只有少數幾個函式被所有主要的DBMS等同支援。 DBMS函式的差異: 可以看到,與SQL語句不一樣,S

MySQL-9MySQL常用函式及數學計算

拼接欄位 使用concat()函式來拼接多個列 SELECTConcat( vend_name,'(', vend_country,')', vend_address)FROM vendorsORDER BY vend_name; 刪除右側多餘的空格來整理資

MySQL】第6章 過濾數據

sea 錯誤 arch order by ice where 大量數據 子句 否則 1、使用WHERE子句   數據庫一般包含大量數據,所以一般不會檢索所有行。只檢索所需數據需要指定搜索條件(search criteria),搜索條件也稱為過濾條件(filter condi

MySQL】第八章 用通配符進行過濾

通配符 操作符 範圍 name 使用 技巧 商品 -- rom 1、LIKE操作符   之前使用的操作符都是針對已知的數據,而使用通配符可以對未知數據也進行搜索。   通配符(wildcard):用來匹配值得一部分的特殊字符。   搜索模式(search pattern):

MYSQL

聚集函數 結構 則表達式 拼接 建議 支持 類型 習慣 功能 1、 同一個數據庫中不允許出現同名表;不同的數據庫中可以出現同名表2、 每一行記錄都用有一個key(一列或一組列作為key)3、 作為key的列不允許值為空(NULL)4、 多個列作為key時,多個列的組

MYSQL2

pri upd delet rate 服務器 cal delete 生效 單獨 60、NULL是沒有值,空串是一個有效值61、主鍵只能使用不允許未NULL值的列62、每個表只允許一個auto_increment列63、不允許使用函數作為默認值,只支持常量64、InnoDB

MySQL】第十章 創建計算字段

客戶機 cat 第十章 去掉 quantity 字段 cme 引用 field 1、字段(field):一般與列(同義),經常互換使用,不過數據庫列一般稱之為列,字段通常用在計算字段的連接上。 2、拼接:將值連接到一起構成單個值。   註:多數DBMS使用+或||來實現拼接

MySQL】第十三章 分組數據

num mysql 統計 where子句 rom 過濾 group by 大於 映射 1、創建分組   輸入:   SELECT vend_id , COUNT(*) AS num_prods   FROM products   GROUP BY vend_id;   輸出

MySQL】第十六章 創建高級聯結

類型 where子句 contact items order by 其他 mysq custom 必知必會 1、使用表別名   好處:   a、縮短SQL語句。   b、允許在單條SELECT語句中多次使用相同的表。   輸入:   SELECT  cust_name,cu

MySQL學習筆記》:子查詢

簡單的 後繼 復雜 pos clas tty append 靈活 values 子查詢 在開始了解子查詢之前,首先做下準備工作,建立3個表, 一個是customers表,當中包含:客戶名字、客戶ID、客戶Tel等。 一個是orders

MySQL-表的關系

mysql必知必會-表的關系MySQL必知必會-表的關系

MySQL筆記

mysql必知必會筆記Having和Where的區別:先執行Where的條件,再執行Having的條件group by和order by的區別:group by是分組,order by是排序select子句的順序:select...from...where...group by...having...orde

MYSQL的總結

pda 視圖 撤銷 參數 正則表達式 更新 表現 into 解鎖 看到了mysql必知必會 總結了以下幾個以後很有可能用到的知識點: 1.在檢索多列的時候,需要再列名之間用“,”進行分開,最後的列名後面不加。 select id,uid,name from 表名;

mysql開發

目錄 etc 運用 win 字符集 發揮 mem follow type   mysql的數據庫的數據庫,即存儲mysql數據庫的底層目錄,是在/var/lib/mysql目錄下(Linux,win在目錄下的data中)。   我們新創建的數據庫db1就是在/var/li

MySQL》中創建觸發器代碼的“錯誤”

erro ima style trigger mysql 觸發 mysq result err   《MySQL必知必會》中使用觸發器一章中的創建觸發器的代碼在MySQL5.7.20中報錯:ERROR 1415 (0A000): Not allowed to return

MySQL---基礎環境

mysql基礎環境 1.OS版本centos72.mariadb-5.5.56 [root@node1 ~]# yum install -y mariadb 已加載插件:fastestmirrorbase