PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Połącz wiele wierszy w jeden

Zasadniczo jest to zapytanie obrotowe. Zrobiłbym to z agregacją warunkową:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstaw słownik Pythona za pomocą Psycopg2

  2. PostgreSQL:domyślne nazwy ograniczeń

  3. Postgres GIST vs indeks Btree

  4. Jak znaleźć tabele podrzędne, które dziedziczą z innej tabeli w PSQL?

  5. Saperate db PostgreSQL dla każdego klienta, z automatycznymi migracjami podczas tworzenia klienta na jednej aplikacji Django i na tym samym serwerze