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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zählt dies nicht Datensätze, die nicht enthält mindestens ein nicht-whitespace-Zeichen (dazu gehören Leerzeichen, Zeichenketten, leere strings und
NULL
s).Wenn einem nicht leeren all-whitespace-string gültig ist, verwenden Sie diese: