PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Windows Postgres berfungsi dengan grup agregat oleh

Anda dapat mengubah kueri Anda seperti ini:

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

demo biola sql




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara merender hubungan satu ke banyak ke XML dengan PostgreSQL

  2. Apakah ada sesuatu seperti fungsi Zip() di PostgreSQL yang menggabungkan dua array?

  3. Bagaimana cara memilih nomor acak yang dapat diulang dengan setseed di postgres sql?

  4. Bagaimana cara mendapatkan Waktu Pembuatan Database di PostgreSQL 9.0?

  5. Cara efisien untuk menarik data dari database kedua?