sql - 连接2个表并计算SQL中特定字段的出现次数

标签 sql sql-server select count group-by

我有 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])

现在我看到这样的 View

 |   Country ID   |     County      | Student ID |
 |       1        |      USA        |     12     |
 |       1        |      USA        |     5      |
 |       2        |      UK         |     11     |
 |       2        |      UK         |     2      |

我想计算与某个国家/地区相关的学生 (Student_ID) 数量,

我想要得到如下所示的 View

 |   Country ID   |     County      | Students |
 |       1        |      USA        |     2    |
 |       2        |      UK         |     2    |

最佳答案

使用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];

关于sql - 连接2个表并计算SQL中特定字段的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27242708/

相关文章:

php - mysql语法中的mysql错误

sql-server - 在 SQL 2008/12 中压缩 VARCHAR - 看不到结果

sql - 表中每个组的每月计数

sql - group by,union,Union为多个列选择不同的值之间有什么区别?

java - Hibernate - 在 OneToMany 上使用 JOIN 时 sqlQuery 映射冗余记录

javascript - 如果另一个下拉列表选择发生更改,则重置一个下拉列表

sqlite INSERT INTO ... WHERE NOT EXISTS 并获取 id?

Postgresql SELECT 随机且具有唯一值

mysql - mysql select语句中where子句中的if语句

sql-server - SQL Server 表分区基于模函数?