SELECT subscriber,
       count(*) AS value
FROM (SELECT events.calls.msisdn AS subscriber
      FROM events.calls
      WHERE events.calls.datetime >= '2016-01-02 00:00:00'
        AND events.calls.datetime < '2016-01-04 00:00:00'
        AND to_char(events.calls.datetime, 'HH24:MI') >= '12:00'
        AND to_char(events.calls.datetime, 'HH24:MI') < '18:00'

      UNION ALL

      SELECT events.sms.msisdn AS subscriber
      FROM events.sms
      WHERE events.sms.datetime >= '2016-01-02 00:00:00'
        AND events.sms.datetime < '2016-01-04 00:00:00'
        AND to_char(events.sms.datetime, 'HH24:MI') >= '12:00'
        AND to_char(events.sms.datetime, 'HH24:MI') < '18:00') AS u
GROUP BY subscriber
