SQL-запрос выбора, чтобы найти количество из данной таблицы

0

У меня есть одна таблица в базе данных → applicants_detail, которая имеет два столбца
apply_personid и apply_courseid.
Колледж предоставляет несколько курсов.
У меня есть данный id для apply_courseid, который написан следующим образом:
Живопись - 1
наука - 2
математика - 3...
И apply_personid, который содержит идентификатор пользователя.
Мне нужно подсчитать, сколько людей подало заявку на курс, как на странице, которую он должен показать:
математика ------ 15 people_applied
наука ------ 20 people_applied
Я попробовал этот запрос:

$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 ответа

2

Вам просто нужно сгруппировать applied_courseid. Это должно сделать это.

    select applied_courseid, count(applied_personid) as 'count'
    from
    applicants_detail
    group by applied_courseid

Затем при необходимости используйте результаты здесь, чтобы присоединиться к другим таблицам
которые вы, вероятно, имеете (это даст вам название курса, например).

  • 0
    я попробовал следующий запрос, я получил результат, как я хочу, чтобы это выглядело так: математика ------ 15 people_applied science ------ 20 people_applied select postcourse.course_title,applied_courseid, count(applied_personid) as count2` от заявителей. postcourse ON Applicants.applied_courseid = postcourse.course_id group by apply_courseid`, но можно использовать предложение where в запросе выше, например, where course_owner_name='".$_SESSION['unm']."'
  • 0
    я размышляю над предложением where в приведенном выше запросе, но он не возвращает никаких данных, where course_owner_name='".$_SESSION['unm']."'
Показать ещё 2 комментария
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 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню