sql >> Databáze >  >> RDS >> PostgreSQL

SQL více řádků do jednoho

Toto je v podstatě pivotní dotaz. Udělal bych to s podmíněnou agregací:

select user, access_date,
       max(case when FORMFACTOR = 'Mobile' then 1 else 0 end) as KEY_MOBILE,
       max(case when FORMFACTOR = 'Desktop' then 1 else 0 end) as KEY_DESKTOP,
       (case when max(case when FORMFACTOR = 'Mobile' then 1 else 0 end)  > 0 and
                  max(case when FORMFACTOR = 'Desktop' then 1 else 0 end) > 0
             then 1 else 0
        end) as KEY_MOBILE_DESKTOP
from table t
group by user, access_date;



  1. Postgresql. CREATE CAST 'character varying' to 'integer'

  2. Jak vyberete časové období v postgresu?

  3. Zablokování při vytváření instancí úloh

  4. Server zaznamenal vnitřní chybu nebo nesprávnou konfiguraci a nemohl dokončit váš požadavek