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

來源:互聯網
上載者:User

單個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";
這樣查詢語句就快多了 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.