Graf und die Gruppe nicht-leere Werte in MySQL

Muss ich zählen die nicht leer sind (und ich meine einen string mit mindestens 1 Zeichen) Zeilen gruppiert, die von einer bestimmten ID. ZB. meine Daten könnte wie folgt Aussehen:

form_id   mapping
1         'value_1'
1         ''
1         'value_2'
2         ''
2         NULL
3         'value_3'

und ich will Sie zählen, die nicht leer sind Werte, die für jedes Format, also möchte ich die Ergebnisse wie folgt Aussehen:

form_id   mapping_count
1         2
2         0
3         1

Wenn die leer waren die Werte alle NULL, ich denke, ich könnte

SELECT form_id, count(mapping) FROM table GROUP BY form_id

...aber das wäre auch Zeichenketten der Länge null in die Zählung, die ich nicht will.

Könnte ich eine where-Klausel nur die Zeilen zurückgeben, in denen ein Wert vorhanden ist, in die Spalte Zuordnung, aber ich möchte das Formular zurück-IDs, die keine Zuordnungen, so dass ist nicht gut.

Ich vermute, ich brauche eine Unterabfrage, die eine Art, aber ich habe Probleme beim zusammenbauen.

InformationsquelleAutor Russ | 2010-02-25
Schreibe einen Kommentar