SELECT DATE_TRUNC('week',occurred_at) AS week,
COUNT (DISTINCT e.user_id) AS weekly_users,
COUNT (DISTINCT CASE WHEN e.device IN ('macbook pro','lenovo thinkpad','macbook air','dell inspiron notebook',
'asus chromebook','dell inspiron desktop','acer aspire notebook','hp pavilion desktop','acer aspire desktop','mac mini')
THEN e.user_id ELSE NULL END) AS computer,
COUNT(DISTINCT CASE WHEN e.device IN ('iphone 5','samsung galaxy s4','nexus 5','iphone 5s','iphone 4s','nokia lumia 635',
'htc one','samsung galaxy note','amazon fire phone') THEN e.user_id ELSE NULL END) AS phone,
COUNT(DISTINCT CASE WHEN e.device IN ('ipad air','nexus 7','ipad mini','nexus 10','kindle fire','windows surface',
'samsumg galaxy tablet') THEN e.user_id ELSE NULL END) AS tablet
from tutorial.yammer_events e
WHERE occurred_at > '2014-04-28'
GROUP by 1
ORDER by 1
Мне интересно, почему, если я изменяю тогда e.user_id на тогда 1, весь запрос возвращается к 1 вместо числа подсчета, я немного запутался с логикой c здесь.