2 Fragen: Maximum einer Count Anweisungen und Count ordnen lassen

2 Fragen: Maximum einer Count Anweisungen und Count ordnen lassen

am 03.03.2006 14:18:45 von Paule Ehrlich

Hallo SQL-Profis!
Es gelingt mir in einer SQL-Anweisung mittels group und Count eine
Anzahl zu bestimmen.

1. Wie kann ich diese Counts der Anzahl nach ordnen?
2. Wie kann ich nur das Maximum ausgeben lassen?

Vielen Dank
Paul

Re: 2 Fragen: Maximum einer Count Anweisungen und Count ordnen lassen

am 03.03.2006 14:52:13 von Sven Paulus

Paule Ehrlich wrote:
> Es gelingt mir in einer SQL-Anweisung mittels group und Count eine
> Anzahl zu bestimmen.

SELECT bla,COUNT(*) FROM blubb GROUP BY bla

> 1. Wie kann ich diese Counts der Anzahl nach ordnen?

SELECT bla,COUNT(*) anz FROM blubb GROUP BY bla ORDER BY anz

> 2. Wie kann ich nur das Maximum ausgeben lassen?

SELECT bla,COUNT(*) anz FROM blubb GROUP BY bla ORDER BY anz DESC LIMIT 1

Re: 2 Fragen: Maximum einer Count Anweisungen und Count ordnen lassen

am 03.03.2006 15:09:00 von Paule Ehrlich

Hallo Sven!

Herzlichen Dank!



>> 2. Wie kann ich nur das Maximum ausgeben lassen?
>
>SELECT bla,COUNT(*) anz FROM blubb GROUP BY bla ORDER BY anz DESC LIMIT 1


Gibt es auch eine variante, die alle Maxima auflistet? (d.h. Fussball
Anzahl der Tore pro Mannschaft pro Saison: Maximum 54. Wenn jetzt
mehrere Mannschaften 54 Tore geschossen haben. Wie werden alle
angezeigt, die das Maximum erreicht haben.

Danke
Paul

Re: 2 Fragen: Maximum einer Count Anweisungen und Count ordnen lassen

am 03.03.2006 16:01:46 von Sven Paulus

Paule Ehrlich wrote:
>>SELECT bla,COUNT(*) anz FROM blubb GROUP BY bla ORDER BY anz DESC LIMIT 1
> Gibt es auch eine variante, die alle Maxima auflistet? (d.h. Fussball
> Anzahl der Tore pro Mannschaft pro Saison: Maximum 54. Wenn jetzt
> mehrere Mannschaften 54 Tore geschossen haben. Wie werden alle
> angezeigt, die das Maximum erreicht haben.

Nur zweistufig (oder mit Subselects):

SELECT bla,@a:=COUNT(*) anz FROM blubb GROUP BY bla ORDER BY anz DESC LIMIT 1
SELECT bla,COUNT(*) anz FROM blubb GROUP BY bla HAVING anz = @a

Dich interessiert nur der Output des zweiten Queries. An der Tabelle
darf sich waehrenddessen natuerlich nichts andern (ansonsten mal kurz
LOCKen aussen herum).

Re: 2 Fragen: Maximum einer Count Anweisungen und Count ordnen lassen

am 03.03.2006 16:03:14 von Kai Ruhnau

Paule Ehrlich wrote:
> Hallo Sven!

Wenn du dich mit Sven unterhalten möchtest, dann tu das bitte via
E-Mail. Hier schließt du mit persönlichen Anreden nur Leute aus der
Diskussion aus.

>>> 2. Wie kann ich nur das Maximum ausgeben lassen?
>> SELECT bla,COUNT(*) anz FROM blubb GROUP BY bla ORDER BY anz DESC LIMIT 1
>
>
> Gibt es auch eine variante, die alle Maxima auflistet? (d.h. Fussball
> Anzahl der Tore pro Mannschaft pro Saison: Maximum 54. Wenn jetzt
> mehrere Mannschaften 54 Tore geschossen haben. Wie werden alle
> angezeigt, die das Maximum erreicht haben.

Ja, im MySQL-Handbuch gibt es dazu auch Beispiele.

Ich komm gerade nicht an die Seite dran, deswegen nur der Link:

3.6.2. The Row Holding the Maximum of a Certain Column
http://dev.mysql.com/doc/refman/5.0/en/example-maximum-row.h tml

HTH und Grüße
Kai

Re: 2 Fragen: Maximum einer Count Anweisungen und Count ordnen lassen

am 03.03.2006 19:39:46 von Paule Ehrlich

Ihr Lieben!

Vielen Dank es funktioniert.


Kai Ruhnau schrieb:

>Paule Ehrlich wrote:
>> Hallo Sven!
>
>Wenn du dich mit Sven unterhalten möchtest, dann tu das bitte via
>E-Mail. Hier schließt du mit persönlichen Anreden nur Leute aus der
>Diskussion aus.
>
Danke fuer den Hinweis, du hast Recht, pardon!

Gruss
Paul