加入2个表并计算SQL中出现的特定字段数

kez*_*kez 6 sql sql-server select group-by count

我有2个表,"T_COMMON_COUNTRY"和"T_HEI_STUDENTDATA".使用左连接我加入了这些表

这是我的疑问

SELECT 
    [T_COMMON_COUNTRY].[COUNTRY_ID], 
    [T_COMMON_COUNTRY].[COUNTRY], 
    [T_HEI_STUDENTDATA].[STUDENT_ID]

FROM ([T_COMMON_COUNTRY]

 LEFT JOIN [T_HEI_STUDENTDATA]

 ON [T_COMMON_COUNTRY].[COUNTRY] = [T_HEI_STUDENTDATA].[STDCOUNTRY])
Run Code Online (Sandbox Code Playgroud)

现在我得到这样的看法

 |   Country ID   |     County      | Student ID |
 |       1        |      USA        |     12     |
 |       1        |      USA        |     5      |
 |       2        |      UK         |     11     |
 |       2        |      UK         |     2      |
Run Code Online (Sandbox Code Playgroud)

我想要计算一个国家的学生人数(Student_IDs),

我希望得到一个完全像下面的视图

 |   Country ID   |     County      | Students |
 |       1        |      USA        |     2    |
 |       2        |      UK         |     2    |
Run Code Online (Sandbox Code Playgroud)

Sah*_*hah 5

使用COUNT功能生成乡村学生计数

试试这个:

SELECT C.[COUNTRY_ID], C.[COUNTRY], COUNT(S.[STUDENT_ID]) AS StudentCount
FROM [T_COMMON_COUNTRY] C
LEFT JOIN [T_HEI_STUDENTDATA] S ON C.[COUNTRY] = S.[STDCOUNTRY]
GROUP BY C.[COUNTRY_ID], C.[COUNTRY];
Run Code Online (Sandbox Code Playgroud)