日期:2014-05-16  浏览次数:20449 次

PHP和MySql数据库,如何获取每个分类的记录的总数

示例的数据库,如下:

本文说的问题,就是统计每个学院(Sdept)的人数。

还有很多情况,比如说:在制作CMS的时候,文章有个分类问题,所有的文章的记录都是存放到同一个表中。

当我们需要统计每个分类的文章数量的时候,就是这个问题。

在我没有学习过数据库相关的一些知识的时候,我是这样做的:

使用select * from table将所有的数据都取出来,然后对取出的每个数组的Sdept元素与已知的学院做比较,当条件符合的时候就进行计数。

$sql="select * from s_db";
$re=mysql_query($sql);
while($row=mysql_fetch_array($re))
{
     if($row[Sdept]=="CS")$CS_num++;
    //剩余的判断省略~
}

这样做话,不但要进行多次循环,还要进行多次判断,无疑是非常笨拙的~

在学习了数据库操作的sql语句相关知识后,发现可以这样做:

sql语句:

SELECT Sdept ,COUNT(Sno) FROM `s_db` GROUP BY Sdept


php语句:

$sql="SELECT Sdept ,COUNT(Sno) FROM `student` GROUP BY Sdept";
$re=mysql_query($sql);
while($row=mysql_fetch_row($re))
{
	echo $row[0]."<=============>".$row[1];
	echo "<br/>";
}

这样做,优化的不是一点半点呀,所以多学习点东西还是对于学习和工作时非常有帮助的,学无止境呀~