MySQL聚合函數(shù)贞盯、分組音念、排序、獲取部分?jǐn)?shù)據(jù)及連接查詢

一躏敢、聚合函數(shù)

????1闷愤、為了快速得到統(tǒng)計數(shù)據(jù),經(jīng)常會用到如下5個聚合函數(shù)

????????count(*)表示計算總行數(shù)件余,括號中寫星與列名讥脐,結(jié)果是相同的

????????例1:查詢學(xué)生總數(shù)

????????select count(*) from students;

????2、max(列)表示求此列的最大值

????????例2:查詢女生的編號最大值

????????select max(id) from students where gender=0;

????3啼器、min(列)表示求此列的最小值

????????例3:查詢未刪除的學(xué)生最小編號

????????select min(id) from students where isdelete=0;

????4旬渠、sum(列)表示求此列的和

????????例4:查詢男生的編號之和

????????select sum(id) from students where gender=1;

????5、avg(列)表示求此列的平均值

????????例5:查詢未刪除女生的編號平均值

????????select avg(id) from students where isdelete=0 and gender=0;

二端壳、分組

????按照字段分組告丢,表示此字段相同的數(shù)據(jù)會被放到一個組中

????分組后,分組的依據(jù)列會顯示在結(jié)果集中损谦,其他列不會顯示在結(jié)果集中

????可以對分組后的數(shù)據(jù)進(jìn)行統(tǒng)計岖免,做聚合運算

????語法:

????select 列1,列2,聚合... from 表名 group by 列1,列2...

????例1:查詢男女生總數(shù)

????select gender as 性別,count(*)

????from students

????group by gender;

????例2:查詢各城市人數(shù)

????select hometown as 家鄉(xiāng),count(*)

????from students

????group by hometown;

????分組后的數(shù)據(jù)篩選

????語法:

????select 列1,列2,聚合... from 表名

????group by 列1,列2,列3...

????having 列1,...聚合...

????having后面的條件運算符與where的相同

????例3:查詢男生總?cè)藬?shù)

????方案一

????select count(*)

????from students

????where gender=1;

????-----------------------------------

????方案二:

????select gender as 性別,count(*)

????from students

????group by gender

????having gender=1;

????對比where與having

????where是對from后面指定的表進(jìn)行數(shù)據(jù)篩選,屬于對原始數(shù)據(jù)的篩選

????having是對group by的結(jié)果進(jìn)行篩選

三照捡、排序

????為了方便查看數(shù)據(jù)颅湘,可以對數(shù)據(jù)進(jìn)行排序

????語法:

????????select * from 表名

????????order by 列1 asc|desc,列2 asc|desc,...

????將行數(shù)據(jù)按照列1進(jìn)行排序,如果某些行列1的值相同時麻敌,則按照列2排序栅炒,以此類推

????默認(rèn)按照列值從小到大排列

????asc從小到大排列,即升序

????desc從大到小排序术羔,即降序

????????例1:查詢未刪除男生信息赢赊,按學(xué)號降序

????????select * from students

????????where gender=1 and isdelete=0

????????order by id desc;

????????例2:查詢未刪除科目信息,按名稱升序

????????select * from subjects

????????where isdelete=0

????????order by name;

四级历、獲取部分行

????當(dāng)數(shù)據(jù)量過大時释移,在一頁中查看數(shù)據(jù)是一件非常麻煩的事情

????語法

????select * from 表名

????limit start,count

????從start開始,獲取count條數(shù)據(jù)

????start索引從0開始

????????例1:查詢前3行男生信息

????????select * from students

????????where gender=1

????????limit 0,3;

????示例:分頁

????????已知:每頁顯示m條數(shù)據(jù)寥殖,當(dāng)前顯示第n頁

????????求總頁數(shù):此段邏輯后面會在python中實現(xiàn)

????????查詢總條數(shù)p1

????????使用p1除以m得到p2

????????如果整除則p2為總數(shù)頁

????????如果不整除則p2+1為總頁數(shù)

????????求第n頁的數(shù)據(jù)

????????select * from students

????????where isdelete=0

????????limit (n-1)*m,m

五玩讳、連接查詢

? ? 1、當(dāng)查詢結(jié)果的列來源于多張表時嚼贡,需要將多張表連接成一個大的數(shù)據(jù)集熏纯,再選擇合適的列返回

? ? 2、mysql支持三種類型的連接查詢粤策,分別為:

????????內(nèi)連接查詢:查詢的結(jié)果為兩個表匹配到的數(shù)據(jù)

????????左連接查詢:查詢的結(jié)果為兩個表匹配到的數(shù)據(jù)樟澜,左表特有的數(shù)據(jù),對于右表中不存在的數(shù)據(jù)? ? ? ? ? 使用null填充

????????右連接查詢:查詢的結(jié)果為兩個表匹配到的數(shù)據(jù),右表特有的數(shù)據(jù)秩贰,對于左表中不存在的數(shù)據(jù)? ? ? ? ? 使用null填充

????????語法

????????????select * from 表1

????????????inner或left或right join 表2 on 表1.列=表2.列

? ? 3霹俺、例1:使用內(nèi)連接查詢班級表與學(xué)生表

????????此處使用了as為表起別名,目的是編寫簡單

????????select * from classes as cls

????????inner join students as stu on sub.id=stu.cls.id

? ? 4毒费、例2:使用左連接查詢班級表與學(xué)生表

????????select * from classes as cls

????????left join students as stu on sub.id=stu.cls.id

? ? 5丙唧、例3:使用右連接查詢班級表與學(xué)生表

????????select * from classes as cls

????????right join students as stu on sub.id=stu.cls.id

? ? 6、例4:查詢學(xué)生姓名及班級名稱

????????select stu.name as stuname,cls.name as clsname from classes as cls

????????inner join students as stu on sub.id=stu.cls.id

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末觅玻,一起剝皮案震驚了整個濱河市想际,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌串塑,老刑警劉巖沼琉,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件北苟,死亡現(xiàn)場離奇詭異桩匪,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)友鼻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進(jìn)店門傻昙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人彩扔,你說我怎么就攤上這事妆档。” “怎么了虫碉?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵贾惦,是天一觀的道長。 經(jīng)常有香客問我敦捧,道長须板,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任兢卵,我火速辦了婚禮习瑰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘秽荤。我一直安慰自己甜奄,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布窃款。 她就那樣靜靜地躺著课兄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪晨继。 梳的紋絲不亂的頭發(fā)上烟阐,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天,我揣著相機(jī)與錄音踱稍,去河邊找鬼曲饱。 笑死悠抹,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的扩淀。 我是一名探鬼主播楔敌,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼驻谆!你這毒婦竟也來了卵凑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤胜臊,失蹤者是張志新(化名)和其女友劉穎勺卢,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體象对,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡黑忱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了勒魔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片甫煞。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖冠绢,靈堂內(nèi)的尸體忽然破棺而出抚吠,到底是詐尸還是另有隱情,我是刑警寧澤弟胀,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布楷力,位于F島的核電站,受9級特大地震影響孵户,放射性物質(zhì)發(fā)生泄漏萧朝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一延届、第九天 我趴在偏房一處隱蔽的房頂上張望剪勿。 院中可真熱鬧,春花似錦方庭、人聲如沸厕吉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽头朱。三九已至,卻和暖如春龄减,著一層夾襖步出監(jiān)牢的瞬間项钮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留烁巫,地道東北人署隘。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像亚隙,于是被迫代替她去往敵國和親磁餐。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,500評論 2 359

推薦閱讀更多精彩內(nèi)容