AVG von COUNT mit GROUP BY

Muschelpuster

Benutzer
Beiträge
22
Moin zusammen,

ich habe eine Tabelle mit Anrufen und der dazugehörigen Rufnummer im Feld remote_e164. Nun wollte ich wissen, wer wie oft angerufen hat, was auch kein Thema war:

SELECT remote_e164, COUNT(remote_e164)
FROM public.cdrs
GROUP BY remote_e164 ORDER BY count(remote_e164) DESC;


Nun möchte ich jedoch wissen, wie oft die Anrufer durchschnittlich anrufen und das habe ich mir zu einfach gedacht:

SELECT AVG (
SELECT remote_e164, COUNT(remote_e164)
FROM public.cdrs
GROUP BY remote_e164;
);


Wie kann ich das realisieren?

Niels
 
Zuletzt bearbeitet:
Werbung:
Code:
edb=# create table muschelpupser(nummer text);
CREATE TABLE
edb=*# copy muschelpupser from stdin;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself, or an EOF signal.
>> 123
>> 123
>> 123
>> 234
>> 345
>> 678
>> 678
>> \.
COPY 7
edb=*# select nummer, count(1) from muschelpupser group by nummer;
 nummer | count 
--------+-------
 234    |     1
 678    |     2
 345    |     1
 123    |     3
(4 rows)
edb=*# with tmp as (select nummer, count(1) from muschelpupser group by nummer) select avg(count) from tmp;
        avg         
--------------------
 1.7500000000000000
(1 row)

edb=*#
 
Werbung:
Zurück
Oben