2013-10-21 57 views
0

我有以下表使用COUNT操作:我需要访问SQL

PATIENT    PRACTICE 
- PATIENT_ID   - PRACTICE_ID 
- PATIENT_NAME   - PRACTICE_NAME 
- PRACTICE_ID 

这些表保留谁参加医疗实践患者轨道。我需要使用COUNT操作来计算每次练习的患者数量,然后按患者数量的升序对结果进行排序。

下面是所需的输出:

PracticeName  NumberOfPatients 
North Medical  3 
East Medical  4 
South Medical  5 
West Medical  6 

到目前为止我试过,但我希望它不会指望它:

SELECT BRANCH.BRANCH_NAME, COUNT(EMPLOYEE.EMP_NUM) 
FROM EMPLOYEE, BRANCH 
GROUP BY BRANCH.BRANCH_NAME, EMPLOYEE.EMP_NUM; 
+0

到目前为止你尝试了什么? – mucio

回答

1

这是一个很琐碎的问题,你应该在提问之前做过一些基础研究,这就是为什么有人投下你的问题。

为了帮助新人出来,这里有一个查询会给你那些结果。

SELECT pr.Practice_Name, COUNT(pa.Patent_ID) as NumberOfPatients 
FROM practice pr INNER JOIN patient pa ON pr.practice_id = pa.practice_id 
GROUP BY pr.practice_name 
ORDER BY COUNT(pa.patientid) 
+0

+1:请注意,您可以在“ORDER BY”中使用列别名“NumberOfPatients”。 (但不是其他地方) – RBarryYoung

0

你似乎对SQL比较陌生,所以你的问题有点模糊。试试这个:

select pra.practice_name, 
     count(pat.patient_id) as NumberOfPatients 
from patient as pat inner join practice as pra on (pat.practice_id = pra.practice_id) 
group by pra.practice_name 

并学习加入表的基础知识,以更好地理解SQL。

+0

呵呵,太慢了:) –