SQL select查询从给定表中查找计数

时间:2014-11-16 17:31:23

标签: php sql

我在数据库中有一个表 - > 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++;
                }


            ?>

2 个答案:

答案 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 
相关问题