数仓工具—Hive实战之描述性计算(18)

描述性计算

Hive实战之事件序列匹配/复杂事件处理 一样,这个名字也是我随意起得,名字虽然很随意但是目的不随意,我还是希望能像设计模式一样,将这一类的问题抽象出来,然后形成一个统一的解决方案,这里我们先不说结论什么的,直接通过例子演示,然后再总结出规律。

统计全都合格打卡人数

我们有一张表,里面存储里用户的打卡情况,我们希望统计出每天合格的人数,合格和不合格有一个字段标识,用户可以一天多次打卡,统计的业务逻辑是只有要一次不合格就不合格也就是任意一次不合格就是不合格,全都合格才是合格。

这里我们首先思考一个问题,想清楚了我们就开始写SQL,那就是到底是判断合格容易还是不合格容易,假设我们一个用户每天打10次卡,那我们判断合格就得这10次打卡全部合格,同理如果打20次卡,那就得判断20次打卡全部合格,但是用户打卡的次数是随意的,所以我们看出你要判断合格,就得知道用户到底打了多少次卡,然后判断全部打卡是否合格。

但是这个时候要判断不合格就人简单了,任意一次打卡不合格或者是存在打卡就是不合格了。下面我们就统计每个用户的不合格的次数qualified_flag=1 就是不合格,union_id 是用户的唯一标识

  select
    b.</

Guess you like

Origin blog.csdn.net/king14bhhb/article/details/118977467