SQL MAX mit Namensausgabe

Hallo,
Ich habe eine Frage zu SQL (benutze postgres) und zwar habe ich einen warenkorb, der eine userid, eine warenkorbid und eine warennummer enthält.

Wenn ich mir das gezählte Maximum ausgeben lasse, steht da aber eben nur die Anzahl. Ich möchte aber noch mit drin haben, dass z.B Warenkorb1 derjenige ist, der die meisten drin hat.

Ich hab alles versucht und es will einfach nichts klappen. Hoffe jemand kann da noch nen Denkanstoß geben, denn ich verzweifel echt gerade.

Moin, daisilein,

Wenn ich mir das gezählte Maximum ausgeben lasse

wenn jetzt jemand wüsste, was ein gezähltes Maximum ist, könnte man Dir weiterhelfen. Zeig mal die SQL-Anweisung.

Gruß Ralf

Oh tut mir leid, also ich hatte es mir so gedacht, ich zähle die Ware im Warenkorb und geben dann das Maximum des gezählten Standes aus.
Nur irgendwie klappt nichts. Hab alles mögliche versucht, das letzte ist jetzt das hier:

SELECT w.*
FROM warenkorb AS w
WHERE w.wnr = ( SELECT MAX(w1.wnr) As maxWare
FROM warenkorb As w1 INNER JOIN warenkorb w2 ON w1.wnr = (SELECT COUNT(w2.wnr) AS countWare
FROM warenkorb AS w2))

Aber da gibt er mir nur den User der die höchte Warennummer im Warenkorb hat.Das ist eifach nur noch wildes Rumprobieren weil ich den ganzen Tag dran sitze und es nicht hinkriege.

Ich kann mir zwar den MAX Wert ausgeben lassen, aber den CodeTeil hab ich wieder weggeschmissen, ich hab dann nur die zeile bekommen, wo ne Zahl drin steht und ich will den warenkorb (warenkorbid) schon mit dabei haben.

Hoffe habe mich jetzt besser ausgedrückt

Vielen Dank!

Hallo,

Oh tut mir leid, also ich hatte es mir so gedacht, ich zähle
die Ware im Warenkorb und geben dann das Maximum des gezählten
Standes aus.

hab ich das richtig verstanden, dass es in der Tabelle warenkorb pro Artikel einen Eintrag gibt, wobei User-ID und Warenkorbnummer für einen konzeptionellen „Warenkorb“ gleich bleiben? Du möchstest pro Warenkorb diese Einträge zählen und dann später das Maximum bestimmen?

Der erste Schritt wäre dann ein klassischer Fall für „group by“:

SELECT wnr, count(*) as cnt
FROM warenkorb
GROUP BY wnr

Aus diesem Ergebnis dann das Maximum zu bestimmen, ist dann nicht mehr schwer:

SELECT wnr, max(cnt)
FROM …

Gruß

Andreas

PS: Dein Schema der Tabelle warenkorb ist übrigens denormalisiert.