根据特定学校的申请数量列出前20所学校

时间:2015-01-28 17:05:37

标签: sql sql-server

我有两个表学校列表学校ID和学校名称,还有另一个表,其中包含申请人数量及其状态。我需要编写一个SQL查询,根据特定州(纽约州,加利福尼亚州)的申请人数列出前20所学校

tbl1 columns (SchoolID, Schoolname)
tbl2 columns (applicantID, schoolID, applicantName, state)

谢谢,

1 个答案:

答案 0 :(得分:0)

尝试类似的事情(假设tbl2包含外键 - > SchoolID)

SELECT TOP 20   
               tbl1.SchoolID
              ,tbl1.Schoolname
              ,Count(tbl2.applicationID) NumberOfApplicants
FROM  Table1 tbl1 INNER JOIN Table2 tbl2 ON tbl2.SchoolID = tbl1.SchoolID
WHERE tbl2.state = 'CA'
GROUP BY tbl2.state
ORDER BY NumberOfApplicants DESC

SQLFIDDLE DEMO