Eike: MySQL: zählen in welchen "Feldern" ein Eintrag vorliegt

Hi,
erst einmal ein Beispiel.

name |f1 |f2 |f3 |f4 |f5 |f6 |
-----------------------------------
Hans_|___|_1_|_1_|_1_|___|_1_|
Peter|_1_|___|_1_|___|_1_|___|
Fanz_|_1_|_1_|_1_|_1_|___|_1_|

Ich möchte jetzt ausgezählt bekommen, in wievielen Feldern eine Eins steht.
Im Fall:
 Hans :4
 Peter:3
 Franz:5

Beim googlen hab ich nichts vernünftiges gefunden.
Kam immer nur darauf, wie man die Spaltenanzahl herausfindet.

Könnt ihr mir helfen?

  1. name |f1 |f2 |f3 |f4 |f5 |f6 |

    Hans_|___|_1_|_1_|_1_|___|_1_|
    Peter|_1_|___|_1_|___|_1_|___|
    Fanz_|_1_|_1_|_1_|_1_|___|_1_|

    Ich möchte jetzt ausgezählt bekommen, in wievielen Feldern eine Eins steht.
    Im Fall:
    Hans :4
    Peter:3
    Franz:5

    Hallo,

    was hällst Du von dem hier:

    SELECT f1+f2+f3+f4+f5 FROM tabelle

    Das sollte doch funtionieren oder?

    mfg dolito

  2. echo $begrüßung;

    name |f1 |f2 |f3 |f4 |f5 |f6 |

    Hans_|___|_1_|_1_|_1_|___|_1_|
    Peter|_1_|___|_1_|___|_1_|___|
    Fanz_|_1_|_1_|_1_|_1_|___|_1_|

    Ich möchte jetzt ausgezählt bekommen, in wievielen Feldern eine Eins steht.

    Von einem ungünstigen Datenbankdesign sollte man keine Wunder erwarten.
    Unter der Voraussetzung dass die Nicht-1-Felder bei einem Typecast 0 ergeben:

    SELECT SUM(f1)+SUM(f2)+SUM(f3)+SUM(f4)+SUM(f5)+SUM(f6) FROM tabelle

    echo "$verabschiedung $name";

    1. Von einem ungünstigen Datenbankdesign sollte man keine Wunder erwarten.
      Unter der Voraussetzung dass die Nicht-1-Felder bei einem Typecast 0 ergeben:

      SELECT SUM(f1)+SUM(f2)+SUM(f3)+SUM(f4)+SUM(f5)+SUM(f6) FROM tabelle

      Da haste sicher recht, allerdings warum SUM()?
      Sie/Er? will doch für jede Zeile exrta das Ergebniss.
      Man könnte noch für jede Spalte eine IF bedingung einfügen,
      damit es dann keine Probleme mit NULL-Werten gibt.

      Aber man sollte wirklich überlegen ob diese Tabelle der normalen Datenbanktheorie entspricht?

      mfg dolito

      1. echo $begrüßung;

        Da haste sicher recht, allerdings warum SUM()?

        Ich nahm diesen Satz wörtlich: "Ich möchte jetzt ausgezählt bekommen, in wievielen Feldern eine Eins steht." Da hier kein "pro Name" oder "pro Datensatz" enthalten war, nahm ich an, dass die Gesamtsumme interessiert.

        Sie/Er? will doch für jede Zeile exrta das Ergebniss.

        Vermutlich "Er", Eike ist ein Männername. Das nachfolgende "Im Fall:  Hans :4  Peter:3  Franz:5" hab ich schlichtweg überlesen. Was genau gewünscht war, wird sich zeigen...

        echo "$verabschiedung $name";

    2. yo,

      Von einem ungünstigen Datenbankdesign sollte man keine Wunder erwarten.

      ich kann nicht anhand der gegebenen informationen erkennen, dass es sich um ein ungünstiges datenbank-design handelt. vielleicht ist dem so, aber dazu fehlen meiner meinung nach wichtige informationen. nur weil die spaltennamen sehr ähnlich gewählt sind und die domäne der spalten sich scheinbar gleicht, dass alleine reicht meiner meinung nach für eine beurteilung nicht aus. ein hinweis darauf ist es aber allemal.

      Ilja