解决infobright 的group by 因为NULL值,会出现两条一样的结果的问题

原SQL如下:

select date_format(date_sub(current_date(), interval 1 day), '%Y%m%d'),
       a.app_id,
       datediff(date_format(date_sub(current_date(), interval 1 day),
                            '%Y%m%d'),
                date(first_boot_time)),
       datediff(date(op_day_id), date(first_boot_time)),
       '1160201',
       count(distinct imei)
  from  a
 where date_format(first_boot_time, '%Y%m%d') >=
       date_format(date_sub(current_date(), interval 10 day), '%Y%m%d')
 group by a.app_id,
          datediff(date_format(date_sub(current_date(), interval 1 day),
                               '%Y%m%d'),
                   date(first_boot_time)),
          datediff(date(op_day_id), date(first_boot_time));


因表的字段op_day_id有部分为NULL,进行group by后,还会产生两条一模一样的值


解决,处理前,先把a表的控制进行处理

你可能感兴趣的:(MYSQL,Infobright)