count
计算总行数。
该函数有 3 种形式:
-
COUNT(*) 返回表中所有的行数。
-
COUNT(expr) 返回某列中非 NULL 值的行数。
-
COUNT(DISTINCT expr) 返回某列去重后非 NULL 值的行数。
COUNT DISTINCT 用于精确去重,如果需要更好的去重性能,可参考使用 Bitmap 实现精确去重。
从 2.4 版本开始,StarRocks 支持在一条查询里使用多个 COUNT(DISTINCT)。
语法
COUNT(expr)
COUNT(DISTINCT expr [,expr,...])
参数说明
epxr: 条件表达式。expr 为列名时,列值支持任意类型。
返回值说明
返回值为数值类型。如果没有匹配的行,则返回0。 NULL值不参与统计。
示例
假设有表 test,按照订单 id 显 示每个订单的国家、商品类别、供应商编号。
select * from test order by id;
+------+----------+----------+------------+
| id | country | category | supplier |
+------+----------+----------+------------+
| 1001 | US | A | supplier_1 |
| 1002 | Thailand | A | supplier_2 |
| 1003 | Turkey | B | supplier_3 |
| 1004 | US | A | supplier_2 |
| 1005 | China | C | supplier_4 |
| 1006 | Japan | D | supplier_3 |
| 1007 | Japan | NULL | supplier_5 |
+------+----------+----------+------------+