SELECT userarea,
       COUNT(DISTINCT (CASE WHEN inserttime BETWEEN '2012-05-01 00:00:00' AND '2012-05-31 23:59:59' THEN      phonecode ELSE '' END)) user_open,
       COUNT(DISTINCT (CASE WHEN modifytime BETWEEN '2012-05-01 00:00:00' AND '2012-05-31 23:59:59' AND userstatus='9' THEN phonecode ELSE '' END)) user_cancel,
       COUNT(DISTINCT (CASE WHEN inserttime<'2012-05-01 00:00:00' AND (userstatus='8' OR (userstatus='9' AND modifytime>='2012-05-01 00:00:00')) THEN phonecode ELSE '' END)) user_add,
       COUNT(DISTINCT (CASE WHEN inserttime<='2012-05-31 23:59:59' AND (userstatus='8' OR (userstatus='9' AND modifytime>'2012-05-31 23:59:59')) THEN phonecode ELSE '' END)) user_final_num
  FROM temp_a1
GROUP BY userarea这段语句怎么写效率会更高?