單個(gè)select語句實(shí)現(xiàn)MySQL查詢統(tǒng)計(jì)次數(shù)
單個(gè)select語句實(shí)現(xiàn)MySQL查詢統(tǒng)計(jì)次數(shù)
單個(gè)select語句實(shí)現(xiàn)MySQL查詢統(tǒng)計(jì)次數(shù)的方法用處在哪里呢?用處太多了,比如一個(gè)成績單,你要查詢及格得人數(shù)與不及格的人數(shù),怎么一次查詢出來?
MySQL查詢統(tǒng)計(jì)次數(shù)簡單的語句肯定是這樣了:
select a.name,count_neg,count_plus from
(select count(id) as count_plus,name from score2 where score >=60 group by name) a,
(select count(id) as count_neg,name from score2 where score <=60 group by name) b
where a.name=b.name
即必須至少用2個(gè)語句。
今天剛好碰到發(fā)現(xiàn)mysql支持if,那就創(chuàng)造性的用if來實(shí)現(xiàn)吧:
select name, sum(if(score>=60,1,0)),sum(if(score<60,1,0)) from score2 group by name
單個(gè)select語句實(shí)現(xiàn)MySQL查詢統(tǒng)計(jì)次數(shù)的方法簡單吧。
原理就是大于60,就賦值為1,那么sum就是計(jì)數(shù)了。
Mysql查詢統(tǒng)計(jì)函數(shù)中的count
今天我遇到一個(gè)題目:統(tǒng)計(jì)所有女生成績大于90以上有總數(shù)
我剛開始就這樣寫:$sql = "select 女生成績 from use where 成績 > 90“;$result = mysql_query($sql);
$row = mysql_num_rows($result);echo "總數(shù)為:$row";
可是100條還行吧,如果是10000條那是不是要很慢?。?!后來一個(gè)朋友給我說用count函數(shù),這我才想起來。
把上面的sql語句改為:
$sql = "select count(*),女生成績 from use group by 女生成績 having 女生成績 > 90";
這樣查詢語句就快多了
相關(guān)文章
Mysql中的count()與sum()區(qū)別詳細(xì)介紹
本文將介紹Mysql中的count()與sum()區(qū)別,需要的朋友可以參考下2012-11-11MySQL8.0設(shè)置遠(yuǎn)程訪問權(quán)限的方法
這篇文章主要介紹了MySQL8.0設(shè)置遠(yuǎn)程訪問權(quán)限的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11利用MySQL系統(tǒng)數(shù)據(jù)庫做性能負(fù)載診斷的方法
這篇文章主要介紹了利用MySQL系統(tǒng)數(shù)據(jù)庫做性能負(fù)載診斷的方法,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09