Mailinglisten-Archive |
Hi
das vorliegende Beispiel ist recht simpel, weil man wegen "enum('a', 'b')" direkt nach einem Feldinhalt gruppieren kann. Dabei wird auch ein vorhandener Index verwendet.
Wenn man allerdings nach beliebigen (und auch beliebig komplizierten) Kriterien suchen möchte, kann man dieses Form nutzen (hier kann kein Index von MySQL genutzt werden):
select
if(foo like '%a%', 'a',
if(foo like '%b%', 'b',
'unbekannt')) as Was,
count(*) as Wieviel
from tabelle
group by Was having Was<>'unbekannt'
Man kann die Anzahl der "if(" ja noch beliebig erweitern. Man muss nur dran denken, die Klammern am Ende auch zu schließen. ;-)
Das "having Was<>'unbekannt'" unterdrückt die Ausgabe der Ergebniszeile, in der die Summe der "Nicht-Treffer" steht.
Viele Grüße
:-) Sandor
-----Original Message-----
From: Matthias Kerk [mailto:matthias.kerk at web.de]
Sent: Wednesday, January 05, 2005 5:28 PM
To: mysql-de at lists.4t2.com
Subject: Re: Zeilen zaehlen
Sorry, ich meinte
SELECT foo, count(foo)
from tabelle
group by foo;
> SELECT name, COUNT('foo')
> FROM tabelle
> GROUP BY foo
>
Gruß,
Matthias
--
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->> http://www.4t2.com/mysql
--
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive