Ich habe eine MySQL-Abfrage, die eine einzelne Zeile zurückgibt, die eine Reihe von 1s und 0s ist. Es ist für einen Fortschrittsbalken Indikator. Ich habe es jetzt im Code summiert, aber ich habe versucht, die Werte in einer Abfrage zu summieren, und erkannte, dass ich SUM() nicht verwenden konnte, weil es viele Spalten, aber nur eine Zeile sind.Summenwerte einer einzelnen Zeile?
Gibt es eine Möglichkeit, das ich das in der Abfrage automatisch summieren kann? Es ist so:
item_1 | item_2 | item_3 | item_4
-------+--------+--------+--------
1 | 1 | 0 | 0
Edit: Ich vergaß zu erwähnen, item_1
und so weiter sind nicht einfache Feldwerte, aber jeder ist eher ein Ausdruck, wie SELECT IF(field_1 = 1 and field_2 IS NOT NULL, 0, 1) AS item_1 ...
, so sieht es aus wie ich zu tun habe eine verschachtelte Abfrage:
SELECT (item_1 + item_2 ...) FROM (SELECT IF(field_1 = y and field_2 IS NOT NULL, 1, 0) AS item_1 ...) AS alias
Korrekt?
Ah! Da es sich um Ausdrücke handelt und nicht um einfache Werte, könnte ich eine geschachtelte Abfrage machen: SELECT (item_1 + item_2 ...) FROM (SELECT IF (field_1 = y und field_2 IST NICHT NULL, 1, 0) AS item_1 ...) AS-Alias. Richtig? – user151841
Ja, das wird funktionieren. – RedFilter