Ich habe eine Tabelle mit dem Namen medic_appointment
mit den folgenden Feldern: datetime_diagnosis
(DATETIME
Typ) und diagnosis
. Ich muss eine Abfrage durchführen, die mir die YEAR_MONTH
zeigt, die das meiste Auftreten jeder Krankheit hatte.SQL: wie man mehrere COUNT/MAX macht
Ich bin zur Zeit an dieser Stelle:
SELECT disease , COUNT(*) AS frequency ,
EXTRACT(YEAR_MONTH FROM datetime_diagnosis) AS interval
FROM medic_appointment
GROUP BY disease , interval
die in der folgenden Beispieltabelle ergibt:
disease frequency interval
-------- --------- --------
disease1 5 201609
disease1 8 201610
disease1 22 201611
disease1 1 201612
disease2 7 201611
ich so etwas wie dies zu tun, ich versuche: über die Abfrage erwähnt verwendet wird, erhöht es in einer Weise, dass es die höchste Häufigkeitszahl auswählt und mir die Intervall- und Krankheitsfelder zurückgibt, dann gruppiere ich nach Krankheit ... aber es funktioniert nicht auf diese Weise und ich kann einfach keinen anderen Weg finden, es herauszufinden. Nicht sicher, ob dies die beste Option ist.
edit: strebtes Ergebnis:
disease frequency interval
-------- --------- --------
disease1 22 201611
disease2 7 201611
Providing erwartetes Ergebnis in Worten ist viel komplizierter zu verstehen. Stellen Sie die erwartete Ergebnismenge bereit. – Viki888