Ich schreibe eine SQL-Abfrage, die eine Spalte gruppiert und Min-, Max- und Durchschnittswerte zurückgibt. Hier ist, was ich tue:Ermitteln eines falschen AVG() - Werts für die Spalte in SQL
CREATE TABLE Nums (
patient_id VARCHAR(20),
val DOUBLE
);
INSERT INTO Nums
VALUES ("A", 100), ("A", 175), ("B", 200), ("B", 100), ("B",20), ("B",2000), ("B",4000);
select AVG(event_count), MIN(event_count), MAX(event_count)
from Nums a
join (select patient_id, count(*) as event_count from Nums group by patient_id) b
on a.patient_id = b.patient_id;
Ich erhalte die Ausgabe für die folgende Abfrage als
AVG(event_count) MIN(event_count) MAX(event_count)
4.1429 2 5
I richtigen Werte für min und max bekommen, aber ich erwartete den Durchschnittswert 3,5 bis sein . Ich bin mir nicht sicher, was ich falsch mache. Irgendwelche Hinweise darauf, was ich vermisse?
Danke.
Was ist Ihre erwartete 'durchschnittliche_Count'? – Sadikhasan
Es ist seltsam, dass eine Float-Spalte solche Werte enthalten würde – Strawberry