Ich muss die nicht leeren Zeilen zählen (um die ich eine Zeichenfolge mit mindestens 1 Zeichen bedeute), die nach einer bestimmten ID gruppiert sind. Z.B. meine Daten könnte wie folgt aussehen:Zähle und gruppiere nicht leere Werte in MySQL
form_id mapping
1 'value_1'
1 ''
1 'value_2'
2 ''
2 NULL
3 'value_3'
und ich möchte die nicht leere Werte für jede Form zählen, so möchte ich die Ergebnisse wie folgt aussehen:
form_id mapping_count
1 2
2 0
3 1
Wenn die leeren Werte waren alle NULL, ich denke, ich
SELECT form_id, count(mapping) FROM table GROUP BY form_id
verwenden könnte ... aber das leere Zeichenfolgen in der Zählung würde, was ich nicht will.
Ich könnte eine WHERE-Klausel verwenden, um nur Zeilen zurückzugeben, wo ein Wert in der Mapping-Spalte vorhanden ist, aber ich möchte die Formular-IDs zurückgeben, die keine Zuordnungen haben, also das ist auch nicht gut.
Ich vermute, ich brauche eine Unterabfrage von irgendeiner Art, aber habe Probleme beim Zusammensetzen.
Große, vielen Dank für das - ich hatte vorher nicht kommen über die NULLIF Funktion. Genau das, was ich brauchte. :) – Russ