我在数据库中有一个表 - > applicants_detail有两列
applied_personid和applied_courseid。
学院提供多门课程。
我有给app_courseid的给定id,就是这样写的:
艺术 - 1个
科学 - 2
数学 - 3 ...
和包含应用人员ID的applied_personid。
我需要计算申请该课程的人数,例如应该显示的页面:
数学------ 15人_应用
科学------ 20人_应用
我试过这个问题:
$query="select * from people where people_id in(select applied_personid from applicants where applied_courseid =".$_GET['postcourseid']." )";
查找计数的代码无法在表中显示计数。
<?php
$count=0;
while($row=mysql_fetch_array($res))
{
echo '<tr> <td width="10%">'.$count.'
<td width="50%">'.$row['student_fnm'].'
<td width="50%">'.$row['applied_courseid'].'
<td width="30%"><a href="'.$row['course_name'].'">course name</a>
';
$count++;
}
?>
答案 0 :(得分:2)
您只需按applied_courseid
分组即可。这应该做到。
select applied_courseid, count(applied_personid) as `count`
from
applicants_detail
group by applied_courseid
然后,如果需要,请使用此处的结果加入其他表格 你可能有的(这会给你的课程名称,例如。)。
答案 1 :(得分:1)
尝试此操作以获取所有数据:
SELECT course_name, applied_courseid as course_id, count(applied_personid) as `student_number`
FROM applicants_detail
INNER JOIN course_detail ON course_detail.course_id = applicants_detail.course_id
GROUP BY applied_courseid