COUNT():用于行数计数,可以是总行数、某列的非空值数量或者某列的唯一值数量。
SUM():用于求和,只能对数值列进行操作
处理NULL值时
COUNT(*):包含 NULL 值的行。
COUNT(column_name):忽略 NULL 值。
SUM(column_name):忽略 NULL 值。
处理条件表达式时有什么区别?
Delivery表
delivery_id | customer_id | order_date | customer_pref_delivery_date |
---|---|---|---|
1 | 1 | 2019-08-01 | 2019-08-02 |
2 | 2 | 2019-08-02 | 2019-08-02 |
3 | 1 | 2019-08-11 | 2019-08-12 |
4 | 3 | 2019-08-24 | 2019-08-24 |
5 | 3 | 2019-08-21 | 2019-08-22 |
6 | 2 | 2019-08-11 | 2019-08-13 |
7 | 4 | 2019-08-09 | 2019-08-09 |
SUM可以进行order_date = customer_pref_delivery_date条件表达式的判断,计算相等行有几行。即 SUM(order_date = customer_pref_delivery_date )
COUNT(order_date = customer_pref_delivery_date)。 计算的是表达式不为 NULL 的行的数量。注意order_date = customer_pref_delivery_date无论是true还是false,都代表行不为NULL。