Ilja: Ist hier ein Fehler in der Abfrage???

Beitrag lesen

yo,

Nun soll(en) die Abfrage(n) als Ergebnis die verschiedenen Kategorien mit def=1 bringen, den User, der diese Kategorie als erstes genutzt hat und die Anzahl der gesamten Nutzungen dieser Kategorie.

das sind ja gleich drei wünsche auf einmal, das geht nun wirklich nicht, es sei den, du willst überraschungseier. ;-)

spass beseite, ich befürchte, dass wir mit mysql ohne unterabfragen nicht ganz so enfach sein. und erst die neusten versionen von mysql erlauben unterabfragen. ausserdem sind unterabfragen nicht immer so performant, wobei es hier eiegtnlich der gleiche ansatz wäre. mein vorschlag wäre zwei abfragen draus zu machen.

die erste für die anzahl der jeweiligen kategorien.

SELECT Kategorie, Count(*) AS Anzahl
FROM tabelle
WHERE def=1
GROUP BY Kategorie

die zweite um den user zu ermitteln, die sich auf die datensätze der ersten abfrage beziehen, also in der abfrage-schleife mit eingebaut ist.

SELECT user, datum, kategorie
FROM tabelle
WHERE def=1 AND Kategorie=hier_ergebnis_der_ersten_abfrge
Order BY Datum
LIMIT 1

oder abre du machst aus den beiden ein statement mit einer unterabfrage. aber wie gesagt, nicht jede version von mysql kann das.

Ilja