59 lines
2.1 KiB
Markdown
59 lines
2.1 KiB
Markdown
|
---
|
|||
|
title: SQL COUNT Aggregate Function
|
|||
|
localeTitle: SQL COUNT聚合函数
|
|||
|
---
|
|||
|
## SQL COUNT聚合函数
|
|||
|
|
|||
|
COUNT运算符通常与GROUP BY子句结合使用。它是SQL“聚合”函数之一,包括AVG(平均值)和SUM。
|
|||
|
|
|||
|
此函数将计算行数并将该计数作为结果集中的列返回。
|
|||
|
|
|||
|
以下是您将使用COUNT的示例:
|
|||
|
|
|||
|
* 计算表中的所有行(不需要按组)
|
|||
|
* 计算数据子集的总数(需要语句的Group By部分)
|
|||
|
|
|||
|
作为参考,这是我们的示例学生数据库中所有行的当前数据。
|
|||
|
|
|||
|
```sql
|
|||
|
select studentID, FullName, programOfStudy, sat_score from student; -- all records with fields of interest
|
|||
|
```
|
|||
|
|
|||
|
![图像-1](https://github.com/SteveChevalier/guide-images/blob/master/count01.JPG?raw=true)
|
|||
|
|
|||
|
此SQL语句提供所有行的计数。请注意,您可以使用“AS”为生成的COUNT列指定名称。
|
|||
|
|
|||
|
```sql
|
|||
|
select count(*) AS studentCount from student; -- count of all records
|
|||
|
```
|
|||
|
|
|||
|
![图像-1](https://github.com/SteveChevalier/guide-images/blob/master/count02.JPG?raw=true)
|
|||
|
|
|||
|
在这里,我们得到每个学习领域的学生数量。
|
|||
|
|
|||
|
```sql
|
|||
|
select studentID, FullName, count(*) AS studentCount from the student table with a group by programOfStudy;
|
|||
|
```
|
|||
|
|
|||
|
![图像-1](https://github.com/SteveChevalier/guide-images/blob/master/count03.JPG?raw=true)
|
|||
|
|
|||
|
在这里,我们得到具有相同SAT分数的学生数。
|
|||
|
|
|||
|
```sql
|
|||
|
select studentID, FullName, count(*) AS studentCount from the student table with a group by sat_score;
|
|||
|
```
|
|||
|
|
|||
|
![图像-1](https://github.com/SteveChevalier/guide-images/blob/master/count04.JPG?raw=true)
|
|||
|
|
|||
|
以下是使用广告系列基金表的示例。这是2016年美国总统竞选期间每笔交易的美元总额和每个政党的捐款数量。
|
|||
|
|
|||
|
```sql
|
|||
|
select Specific_Party, Election_Year, format(sum(Total_$),2) AS contribution$Total, count(*) AS numberOfContributions
|
|||
|
from combined_party_data
|
|||
|
group by Specific_Party,Election_Year
|
|||
|
having Election_Year = 2016;
|
|||
|
```
|
|||
|
|
|||
|
![图像-1](https://github.com/SteveChevalier/guide-images/blob/master/count05.JPG?raw=true)
|
|||
|
|
|||
|
与所有这些事情一样,还有更多内容,所以请查看数据库管理员的手册,并自己尝试不同的测试。
|