von radditz » So 02 Okt, 2005 12:32
bin kein umsteiger, eher von mysql auf oracle (machen wir in der schule)
naja, das ganze sieht so aus:
SELECT MAX(COUNT ( * )) FROM Verkäufe GROUP BY ArtikelNr
Ich tu eine Gruppe über die Artikelnr. wenn ich das MAX nicht hätte, würd ich immer herausbekommen, wie oft ein Artikel verkauft wurde (den Artikel selbst krieg ich ja nicht raus, is ja nicht in der Projektion). Jetz will ich einfach wissen, was das Maximum ist. Das funktioniert (laut Professor) unter Oracle.
Die ganze Query sieht so aus:
SELECT ArtikelNr, COUNT(*) as Anzahl FROM Verkäufe GROUP BY ArtikelNr HAVING Anzahl = (SELECT MAX(COUNT(*)) FROM Verkäufe GROUP BY ArtikelNr)
Das Ergebnis wären also die Artikel, die am öftesten verkauft wurden.
HAVING
Telematica DSL Solo Pro 30 Mbit/s
Vorher: A1 VDSL 16 Mbit/s