PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Прозорците на Postgres функционират с агрегатно групиране по

можете да промените заявката си по следния начин:

with cte1 as (
    SELECT email,
           lower(substring(u.email from position('@' in u.email)+1)) as domain
      FROM questions q
      JOIN identifiers i ON (q.owner_id = i.id)
      JOIN users u ON (u.identifier_id = i.id)
), cte2 as (
    select
        domain, email,
        count(*) as questions_per_email,
        first_value(email) over (partition by domain order by count(*) desc) as top_user
    from cte1
    group by email, domain
)
select domain, top_user, sum(questions_per_email) as questions_per_domain
from cte2
group by domain, top_user

демонстрация на sql fiddle




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Запазете база данни на външен твърд диск

  2. Json отговор на postgresql преобразуване на дата и час Java postgresql

  3. Изтриване от много към много SQL-Alchemy и Postgresql

  4. Правилната команда COPY за зареждане на postgreSQL данни от csv файл, който има данни в единични кавички?

  5. sql плъзгащ се прозорец - намиране на максимална стойност за интервал