單個select語句實(shí)現(xiàn)MySQL查詢統(tǒng)計次數(shù)
單個select語句實(shí)現(xiàn)MySQL查詢統(tǒng)計次數(shù)
單個select語句實(shí)現(xiàn)MySQL查詢統(tǒng)計次數(shù)的方法用處在哪里呢?用處太多了,比如一個成績單,你要查詢及格得人數(shù)與不及格的人數(shù),怎么一次查詢出來?
MySQL查詢統(tǒng)計次數(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個語句。
今天剛好碰到發(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
單個select語句實(shí)現(xiàn)MySQL查詢統(tǒng)計次數(shù)的方法簡單吧。
原理就是大于60,就賦值為1,那么sum就是計數(shù)了。
Mysql查詢統(tǒng)計函數(shù)中的count
今天我遇到一個題目:統(tǒng)計所有女生成績大于90以上有總數(shù)
我剛開始就這樣寫:$sql = "select 女生成績 from use where 成績 > 90“;$result = mysql_query($sql);
$row = mysql_num_rows($result);echo "總數(shù)為:$row";
可是100條還行吧,如果是10000條那是不是要很慢啊??!后來一個朋友給我說用count函數(shù),這我才想起來。
把上面的sql語句改為:
$sql = "select count(*),女生成績 from use group by 女生成績 having 女生成績 > 90";
這樣查詢語句就快多了
相關(guān)文章
mysql把查詢結(jié)果按逗號分割的實(shí)現(xiàn)示例
使用MySQL數(shù)據(jù)庫的GROUP_CONCAT函數(shù),可以將查詢結(jié)果按逗號或其他指定分隔符連接成字符串,這種方法適用于需要匯總數(shù)據(jù)并以字符串形式展示的場景,本文介紹了GROUP_CONCAT函數(shù)的基本用法和注意事項,感興趣的可以了解一下2024-09-09
MYSQL自定義函數(shù)判斷是否正整數(shù)的實(shí)例代碼
這篇文章主要介紹了MYSQL自定義函數(shù)判斷是否正整數(shù) 的實(shí)例代碼,主要是使用正則表達(dá)式來判斷,具體實(shí)例代碼大家跟隨小編一起通過本文學(xué)習(xí)吧2018-11-11
MySQL多線程復(fù)制遇到Error_code: 1872的解決方案
本文給大家分享的是在使用mysql主從復(fù)制的時候遇到Error_code: 1872錯誤的解決方法,非常的簡單,有需要的小伙伴可以參考下2016-09-09
解析SQL語句中Replace INTO與INSERT INTO的不同之處
本篇文章是對SQL語句中Replace INTO與INSERT INTO的不同之處進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

