Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

[SQL] Anzahl ältester Werte pro ID auslesen

  Alt 3. Jun 2008, 21:01
Hallo,

also ein besserer Titel ist mir keiner eingefallen, das ist auch verdammt schwer. *g*

Ich habe eine MySQL-Tabelle mit u.a. diesen Spalten:
id (einmalig), article_id (kann gleiche Werte enthalten) und user_id (kann ebenfalls gleiche Werte enthalten)

Nun kann der Inhalt beispielsweise so aussehen:

Code:
id  article_id  user_id
[b][color=#ff0000]1       1           1[/color][/b]
2       1           1
3       1           4
[b][color=#ff0000]5       2           1[/color][/b]
6       2           2
7       2           2
10      3           2
11      3           1
[b][color=#ff0000]12      4           1[/color][/b]
14      4           6
15      6           2
So schön wird das übrigens nicht geordnet sein, sondern eher wild durcheinander.
Nun möchte ich die Anzahl der Datensätze ermitteln, die für eine bestimmte User-ID zutreffen (das ist ja kein Problem). Jedoch soll pro Artikel-ID-Block nur der älteste Eintrag überprüft werden (kleinste id).

Ein Beispiel:
User mit ID 1
Zurückgegeben sollen nun die rot markierten Datensätze bzw. die Anzahl, in dem Fall 3.

Die Anzahl interessiert mich eher, aber es wäre auch schön, wenn man (mit einer 2. Abfrage) die Datensätze selbst zurückgeben könnte.

Mein Problem besteht im Sortieren der einzelnen Artikel-ID-Blöcke. Ich habe schon mit MIN, DISTINCT, GROUP BY & Co. herumprobiert, doch kam immer irgendwas falsches zurück, deshalb schreibe ich meine Fehlversuche hier gar nicht erst hin. Es wären ohnehin zu viele.
Und alles Auslesen und dann mit PHP sortieren möchte ich auch nicht bzw. nur im aller äußersten Notfall.

Könnt ihr mir sagen wie das geht bzw. ob es überhaupt rein mit MySQL möglich ist ohne zig Abfragen zu benötigen?

Grüße, Matze
  Mit Zitat antworten Zitat