繁体   English   中英

对其他表上的Count(*)相关行的语句

[英]Statement to Count(*) related rows on other table

我有两个表,分别为patient_listdentist_list ,在牙医那里可以有很多病人,我想知道牙医有多少病人并订购了它。

我在这里有一个示例代码,可以让我的每位医生:

$query_dentist = "SELECT * FROM dentist_list ORDER BY ID ASC";
$res_dentist   = mysql_query($query_dentist);

if ($res_dentist) {
    while ($row_dentist = mysql_fetch_array($res_dentist)) {

    }
}

获得所有牙医之后,我将在一段时间内创建一个新查询,以获取所有患者人数。

$dentist_id = $row_dentist['id'];
$query_patient= "SELECT COUNT(*) as patient_num FROM patient_list
                                 WHERE dentist_id ='$dentist_id'";

$res_patient=mysql_query($query_patient);
if($res_patient)
{
     while($row_patient=mysql_fetch_array($res_patient))
     {

     }
 }

例如,查询的输出为:

doctor 1 has 10 patient
doctor 2 has 5 patient
doctor 3 has 100 patient

除了使用PHP,还可以使用MySQL语句吗? 我将仅创建一个查询,因为我需要根据患者数量对其进行排序。

SELECT COUNT(*) AS Patient_Num FROM patient_list GROUP BY dentist_id ORDER BY 1

您可以尝试使用以下代码:

  select d.Name, -- <- put dentist information here
         (select count(1) from patient_list p where p.dentist_id = d.dentist_id) 
    from dentist_list d
order by 2 asc -- <- order by by the 2nd field that is (select count(1...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM