Mailinglisten-Archive |
Hallo Thomas
Handle Thomas (LZD) schrieb
> ich möchte eine MySQL-Abfrage erstellen, die mir das Profil eines
> Benutzers auswertet.
>
> Ich habe ca. 30 Spalten und möchte eine Darstellung in der
> Form XX-% eines Benutzerprofils ausgefüllt.
>
> Dazu nehme ich die Gesamtzahl der Spalten, kein Problem.
>
> Wie jedoch kann ich dann alle Spalten auswählen, die entweder
> 0 oder NULL oder 0000-00-00 sind?
Du kannst die Anzahl der Spalten ermitteln, in denen kein Nullwert steht,
indem du für jede dieser Spalte eine 1 addierst. Im einfachsten Fall mit
IF(spalte, 0, 1). Du kannst auch individuelle Werte ermitteln, z. B.
IF(spalte > x, 0, 1).
SELECT ROUND( 100 *
(
SELECT IF(spalte1, 0, 1) +
SELECT IF(spalte2, 0, 1) +
...
SELECT IF(spalte32, 0, 1)
) / 32
)
Möglicherweise ist es schneller, wenn du mit SELECT * alle Werte holst und
die entsprechende Auswertung mit PHP machst.
Gruß, Hans
php::bar PHP Wiki - Listenarchive