Mysql學(xué)習(xí)第五天

上一篇Mysql學(xué)習(xí)第四天,我們已經(jīng)完成基本查詢和條件查詢這兩個(gè)部分。今天我們就來講一講排序查詢統(tǒng)計(jì)查詢。

首先來講講排序查詢,學(xué)完之后好幾天再來寫這篇文章,好多內(nèi)容都忘記了,要回頭再看一看。

排序查詢有兩種排序的方式,分別是降序排序升序排序。對于排序來說,最重要的關(guān)鍵字是order by,降序要附加的關(guān)鍵字是desc,升序要附加的關(guān)鍵字是asc

我們首先來講講如何實(shí)現(xiàn)升序排序,以及如何使用。

升序排序的語句是:

select *(或任意字段) from 表名 條件 order by 字段 asc;

舉例:

select * from students where age between 18 and 34 oder by age asc;

tips:升序時(shí)的asc是可以省略的,但是不建議省略,因?yàn)椴皇÷愿兄谡Z句的理解。升序的語序是從小到大排列。

說完升序說降序。

降序排序的語句是:

select * from 表名 條件 order by 字段 desc ;

舉例:

select * from students where age between 18 and 34 and gender = 2 order by height desc;

那么,如果需要對一個(gè)表中的多個(gè)字段進(jìn)行排序應(yīng)該怎么辦呢?

首先,我們要確定進(jìn)行排序的主字段,然后再以此進(jìn)行次字段,次次字段等的確認(rèn),這樣,就不會(huì)產(chǎn)生排序時(shí)的混亂,然后確認(rèn)各個(gè)字段分別是按什么順序排序(升序還是降序),最后,把他們按照順序依次寫入order by后的語句中。

多字段進(jìn)行排序的語句:

select *(或任意字段) from 表名 條件 order by 主字段 主字段順序,次字段 次字段順序,.......;

舉例:

select * from students where age between 18 and 35 order by height desc,age asc,id desc;

排序查詢了解之后,我們來看看統(tǒng)計(jì)查詢。

統(tǒng)計(jì)查詢主要查詢什么呢?統(tǒng)計(jì)查詢主要查詢總數(shù),最大值最小值求和值,平均值等內(nèi)容,其主要的關(guān)鍵字有count,maxmin,sum,average等。

1.統(tǒng)計(jì)數(shù)量

統(tǒng)計(jì)數(shù)量我們主要使用關(guān)鍵字count來進(jìn)行。

其中count(*) 是 以行為單位來進(jìn)行個(gè)數(shù)統(tǒng)計(jì)的,什么意思呢?按我目前的理解就是它會(huì)遍歷這個(gè)表的每一行,如果行內(nèi)有內(nèi)容,就計(jì)數(shù)。如果行內(nèi)沒有內(nèi)容,就不計(jì)數(shù)。

關(guān)于count(*) 的查詢語句如下:

select count(*) from 表名;

舉例:

select count(*) from students;

count(字段名)則是先找到字段名對應(yīng)的行,然后再對該行的此字段是否為空來進(jìn)行統(tǒng)計(jì),相對count(※)來說,效率要略低一些。(count(*)不需進(jìn)行空判斷)

關(guān)于count(字段)的查詢語句如下:

select count(字段) from 表名;

舉例:

select count(height)from students;

查詢最大值的關(guān)鍵字是max,主要用于查詢表格中的最大值。

最大值的查詢語句是:

select max(字段名) from 表名;

舉例:

select max(height) from students;

最小值的查詢語句是:

select min(字段名)from 表名;

舉例:

select min(age) from students;

額外插入知識點(diǎn):子查詢

子查詢即是嵌套查詢。什么是嵌套查詢呢?嵌套查詢就是在一個(gè)查詢語句里再嵌套其他的查詢語句。為什么要嵌套呢?因?yàn)橄M谝粋€(gè)語句里就實(shí)現(xiàn)多個(gè)查詢的功能。

嵌套查詢舉例:

select name from students where height = (select max(height) from students);

講完了插入的知識點(diǎn)后,我們來看看求和查詢。求和查詢的關(guān)鍵字是sum,主要用于對某一字段進(jìn)行求和。

求和查詢查詢語句:

select sum(字段名)from 表名;

舉例:

select sum(height)from students;

查完求和我們來查查求平均值。怎么查呢?查平均值最重要的關(guān)鍵字是avg,主要作用是對某一字段進(jìn)行取平均值。

平均值查詢語句

select avg(字段名) from 表名;

舉例:

select avg(age)from students;

今天查詢語句的內(nèi)容就給大家先說到這,下面再給大家介紹一個(gè)非常有用的小知識,如何查詢函數(shù)的作用

怎么查詢呢?且聽我慢慢道來。

首先,第一步,查詢一級所有函數(shù)的一級目錄。所用語句:

? functions

在一級目錄下會(huì)有以下語句:

You asked for help about help category: "Functions" For more information, type 'help <item>', where <item> is one of the following categories: Bit Functions Comparison operators Control flow functions Date and Time Functions Encryption Functions Information Functions Logical operators Miscellaneous Functions Numeric Functions String Functions

這其中最常用的是numeric functionsstring functions 也就是數(shù)字和字符的函數(shù)。

在找到一級目錄之后,再如何查詢呢?答案是? 后跟想要查詢的一級目錄里的函數(shù)文件包名,如? numeric functions;

當(dāng)輸入想要查詢的一級目錄里的函數(shù)文件包名,如? numeric functions;后,會(huì)出現(xiàn)具體的函數(shù)如:

You asked for help about help category: "Numeric Functions" For more information, type 'help <item>', where <item> is one of the following topics: % * +

  • BINARY

  • UNARY / ABS ACOS ASIN ATAN ATAN2 CEIL CEILING CONV COS COT CRC32 DEGREES DIV EXP FLOOR LN LOG LOG10 LOG2 MOD PI POW POWER RADIANS RAND ROUND SIGN SIN SQRT TAN TRUNCATE

這里出現(xiàn)的就是具體的函數(shù)名稱了。再用? 后跟此處的具體名稱后,就會(huì)得到這個(gè)函數(shù)的具體用法了。

如輸入:? floor;

將得到:

Name: 'FLOOR' Description: Syntax: FLOOR(X)

Returns the largest integer value not greater than X.

URL: http://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.html

Examples: mysql> SELECT FLOOR(1.23), FLOOR(-1.23); -> 1, -2

當(dāng)然,這個(gè)是在了解了分類的情況下不記得具體的函數(shù)名字,想要了解它的功能的情況下所用的方法,如果知道名字,忘記了用法,可以直接就用? 后接名字。

今天就到這里吧,后天見,應(yīng)該是后天吧,希望明天能學(xué)完視頻。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 50個(gè)常用的sql語句Student(S#,Sname,Sage,Ssex) 學(xué)生表Course(C#,Cname...
    哈哈海閱讀 1,334評論 0 7
  • 這一篇最主要是記錄下命令,方便以后查找 使用Mysql 創(chuàng)建數(shù)據(jù)庫 create database mysql_t...
    Treehl閱讀 663評論 0 0
  • -- 基本查詢 -- 查詢所有字段 -- select * from 表名; select * from stud...
    pure璞嶸閱讀 2,098評論 0 2
  • SQL ==SQLPLUS== DML(Data Manipulation Language,數(shù)據(jù)操作語言)---...
    蝌蚪1573閱讀 637評論 0 4
  • 雨打窗欄風(fēng)吹葉 一滴一嗒陰雨綿 萬里黑云壓城過 又是一年臺風(fēng)天
    茵茵小草閱讀 467評論 2 10

友情鏈接更多精彩內(nèi)容