PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie führt man eine Postgresql-Unterabfrage in der Select-Klausel mit Join-In-From-Klausel wie SQL Server durch?

Ich bin mir nicht sicher, ob ich Ihre Absicht ganz verstehe, aber vielleicht kommt das Folgende Ihrem Wunsch nahe:

select n1.name, n1.author_id, count_1, total_count
  from (select id, name, author_id, count(1) as count_1
          from names
          group by id, name, author_id) n1
inner join (select id, author_id, count(1) as total_count
              from names
              group by id, author_id) n2
  on (n2.id = n1.id and n2.author_id = n1.author_id)

Leider fügt dies die Anforderung hinzu, die erste Unterabfrage nach ID sowie Name und author_id zu gruppieren, was meiner Meinung nach nicht gewollt war. Ich bin mir jedoch nicht sicher, wie ich das umgehen soll, da Sie id zur Verfügung haben müssen, um an der zweiten Unterabfrage teilzunehmen. Vielleicht fällt jemand anderem eine bessere Lösung ein.

Teilen und genießen.