Ich habe Städte mit Telefonanschlüssen.
Es gibt 3 verschiedenen Anschlusstypen.
Jetzt möchte ich gerne die prozentuale Verteilung je Stadt herausbekommen.
Mathematisch ist es einfach: z.B. x = (A*100)/B
A ist die Menge der Anschlussart, B die Gesamtmenge.
Das Problem ist jetzt nur, dass A eine Variable sein muss.
Hier meine Daten:
CREATE TABLE adresse (
id_adresse integer NOT NULL,
adresse character varying(20),
anschlussart character varying(10)
);
INSERT INTO adresse VALUES (1, 'München', 'Analog');
INSERT INTO adresse VALUES (2, 'München', 'Analog');
INSERT INTO adresse VALUES (3, 'München', 'Digital');
INSERT INTO adresse VALUES (4, 'München', 'Sat');
INSERT INTO adresse VALUES (5, 'München', 'Analog');
INSERT INTO adresse VALUES (8, 'München', 'Analog');
INSERT INTO adresse VALUES (9, 'Berlin', 'Digital');
INSERT INTO adresse VALUES (10, 'Berlin', 'Digital');
INSERT INTO adresse VALUES (11, 'Berlin', 'Digtal');
INSERT INTO adresse VALUES (12, 'Berlin', 'Sat');
ALTER TABLE ONLY adresse
ADD CONSTRAINT adresse_pkey PRIMARY KEY (id_adresse);
Der Anfang:
SELECT
adresse.adresse,
count(adresse.anschlussart) AS Anschlusszahl,
100 AS Gesamtprozent,
(SELECT count(adresse.id_adresse)FROM adresse) AS Gesamtanschlusszahl
FROM
adresse
GROUP BY
adresse.adresse
Wie Rechne ich jetzt aber (4100)/10 und (6100)/10?
Kann ich in “unteren” Operationen Ergebnisse von “oben” verwenden?
Gruß
Karl