SQL count if

在SQL查询中,有时我们需要统计满足特定条件的记录数量。这时就可以使用COUNT函数结合WHERE子句来实现需求。这种情况下通常我们会使用COUNT函数来统计符合条件的记录数量,以便更好地了解数据。
使用COUNT函数
COUNT函数是SQL中常用的聚合函数之一,用于统计结果集中行的数量。在结合WHERE子句使用时,可以实现统计满足特定条件的记录数量。
语法
COUNT函数的基本语法如下:
SELECT COUNT(column_name)
FROM table_name
WHERE condition;
其中column_name为需要统计的列名,table_name为数据表的名称,condition为筛选条件。
示例
假设有一个名为students的表,存储了学生的姓名和成绩信息,结构如下:
| id | name | score |
|---|---|---|
| 1 | Alice | 85 |
| 2 | Bob | 90 |
| 3 | Charlie | 75 |
| 4 | David | 88 |
| 5 | Emma | 92 |
现在我们想统计成绩大于等于80分的学生数量,可以使用以下SQL语句:
SELECT COUNT(*)
FROM students
WHERE score >= 80;
运行以上SQL语句后,会返回成绩大于等于80分的学生数量,即3。
使用COUNT DISTINCT
除了基本的COUNT函数外,还可以使用COUNT DISTINCT函数来统计不重复的记录数量。
语法
COUNT DISTINCT函数的语法如下:
SELECT COUNT(DISTINCT column_name)
FROM table_name
WHERE condition;
其中column_name为需要统计不重复值的列名。
示例
假设我们有一个表sales,记录了每位销售员每次销售的订单编号和金额,结构如下:
| id | salesman | order_id | amount |
|---|---|---|---|
| 1 | Alice | 1001 | 100 |
| 2 | Bob | 1002 | 150 |
| 3 | Charlie | 1001 | 100 |
| 4 | Alice | 1003 | 120 |
| 5 | David | 1004 | 200 |
如果我们想统计不重复的销售订单数量,可以使用以下SQL语句:
SELECT COUNT(DISTINCT order_id)
FROM sales;
运行以上SQL语句后,会返回不重复的销售订单数量,即4。
结语
COUNT函数是SQL中非常有用的函数之一,可以帮助我们快速统计符合条件的记录数量。通过合理地结合WHERE子句和COUNT函数,我们可以更好地了解数据并进行分析。同时,COUNT DISTINCT函数也提供了统计不重复记录数量的功能,能够满足更多的需求。
极客教程