示例的数据库,如下:
本文说的问题,就是统计每个学院(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 "
";
}
这样做,优化的不是一点半点呀,所以多学习点东西还是对于学习和工作时非常有帮助的,学无止境呀~