hive外部表cancellation_policy中有两个字段,分别为number和policy,怎么分别统计两个字段每个类型的数量,请写出sql语句
时间: 2024-02-22 22:58:20 浏览: 59
可以使用GROUP BY和COUNT函数来分别统计这两个字段每个类型的数量,具体的SQL语句如下:
分别统计number字段每个类型的数量:
```
SELECT number, COUNT(*) as count
FROM cancellation_policy
GROUP BY number;
```
分别统计policy字段每个类型的数量:
```
SELECT policy, COUNT(*) as count
FROM cancellation_policy
GROUP BY policy;
```
其中,GROUP BY用于分组统计,COUNT(*)用于统计每个分组中的记录总数,AS用于给统计结果取别名。
相关问题
hive外部表cancellation_policy中有两个字段,分别为number和policy,怎么根据policy这个字段的类型统计两个字段的数量,请写出hive语句
可以使用条件表达式COUNT和CASE WHEN语句来实现基于policy字段类型的字段统计,示例代码如下:
```
SELECT
COUNT(CASE WHEN policy = 'number' THEN 1 END) AS number_count,
COUNT(CASE WHEN policy = 'policy' THEN 1 END) AS policy_count
FROM
cancellation_policy;
```
这个语句会在cancellation_policy表中分别统计policy字段为'number'和'policy'的记录数,结果会返回两个字段分别为number_count和policy_count。
阅读全文