phpbar.de logo

Mailinglisten-Archive

Sortierung nach ArtikelAnzahl

Sortierung nach ArtikelAnzahl

Alexander Friess mysql_(at)_lists.phpcenter.de
Fri, 6 Jul 2001 09:16:36 +0200


Hi Sascha,
> Problem:
> Es existieren zwei Tabellen (Benutzer, Artikel) mit je 2000
> Datensätzen. Nun soll ein Query erstellt werden das die Benutzer
> sortiert nach Arikelanzahl darstellt.
>
> Tabellenbeispiel:
> Benutzer
> ID----NAME
> 1     Jan
> 2     Peter
> 3     Klaus
> 4     Fritz
> 5     Karl
>
> Artikel:
> ID----NUTZER-----NAME
> 1        2       Schere
> 2        1       Messer
> 3        2       Gabel
> 4        3       Löffel
> 5        5       Rasenmäher
> 6        2       Auto
> 7        1       Schnuller
>
> Soll-Ausgabe:
> Peter (3 Artikel)
> Jan   (2 Artikel)
> Karl  (1 Artikel)
> Klaus (1 Artikel)
> Fritz (0 Artikel)
select benutzer.name, benutzer.id, count(artikel) as st from
benutzer, outer artikel where artikel.id = benutzer.id group by benutzer.id
order by st desc

Wie gesagt, ungetestet!
Mit der Syntax vom OUTER bin ich mir auch nicht ganz sicher! Sieh mal im
Handbuch unter "left join" nach. Du brauchst das, da Du sonst die Benutzer
mit 0 Artikel, also OHNE einen Eintrag in der Tabelle "artikel" nicht finden
würdest.

Wenns mit den Namen nicht gleich geht, dann so:
select artikel.id count(artikel) as st from
artikel group by id order by st desc

Das ganze dann in eine temporäre Tabelle und dann via id die Namen aus der
Tabelle bentuzer lesen.

Viel Erfolg.

Gruß Alexander

---
!!NEU!!
Fragen und Antworten zu MySQL und dieser Liste unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive