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

MySQL 統計查詢實現代碼

編輯:MySQL綜合教程

統計數據行數
SELECT COUNT() FROM 語法用於從數據表中統計數據行數。

語法:

SELECT COUNT(column) FROM tb_name
該 SQL 語法用於統計某一字段的數據行數,COUNT() 內不能是多個字段,但可以是 * 號。

例子:

復制代碼 代碼如下:
<?php
$conn = @mysql_connect("localhost","root","root123");
if (!$conn){
die("連接數據庫失敗:" . mysql_error());
}

mysql_select_db("test", $conn);
$sql = "SELECT COUNT(uid) FROM user";
$row = mysql_fetch_array( mysql_query($sql) );
echo "共有用戶: ",$row[0]," 位";
?>


浏覽器顯示:

共有用戶: 4 位

說明
盡管 count() 中的參數可以是某個字段名,但如果只是想統計表中的數據記錄數目,從效率上考慮建議統計主鍵 count(id) 或直接使用 count(*) ,另外盡量避免使用列數據屬性為字符類的。

既然都看到這了就為大家分享兩個例子吧

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

單個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就是計數了。

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