程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 單個select語句實現MySQL查詢統計次數

單個select語句實現MySQL查詢統計次數

編輯:關於MYSQL數據庫

單個select語句實現MySQL查詢統計次數

單個select語句實現MySQL查詢統計次數的方法用處在哪裡呢?用處太多了,比如一個成績單,你要查詢及格得人數與不及格的人數,怎麼一次查詢出來?
MySQL查詢統計次數簡單的語句肯定是這樣了:

復制代碼 代碼如下:
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個語句。

今天剛好碰到發現mysql支持if,那就創造性的用if來實現吧:

復制代碼 代碼如下:
select name, sum(if(score>=60,1,0)),sum(if(score<60,1,0)) from score2 group by name 

單個select語句實現MySQL查詢統計次數的方法簡單吧。

原理就是大於60,就賦值為1,那麼sum就是計數了。

Mysql查詢統計函數中的count

今天我遇到一個題目:統計所有女生成績大於90以上有總數
我剛開始就這樣寫:$sql = "select 女生成績 from use where 成績 > 90“;$result = mysql_query($sql);
$row = mysql_num_rows($result);echo "總數為:$row";
可是100條還行吧,如果是10000條那是不是要很慢啊!!後來一個朋友給我說用count函數,這我才想起來。
把上面的sql語句改為:
$sql = "select count(*),女生成績 from use group by 女生成績 having 女生成績 > 90";
這樣查詢語句就快多了 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved