Mam kwerendę MySQL, który zwraca jeden wiersz, który jest serią 1s i 0s. To dotyczy wskaźnika paska postępu. Mam to zsumowanie w kodzie, ale próbowałem zsumować wartości w zapytaniu i zdałem sobie sprawę, że nie mogę użyć funkcji SUM(), ponieważ jest to wiele kolumn, ale tylko jeden wiersz.Suma wartości jednego rzędu?
Czy istnieje sposób, w jaki mogę to automatycznie podsumować w zapytaniu? To jest tak:
item_1 | item_2 | item_3 | item_4
-------+--------+--------+--------
1 | 1 | 0 | 0
Edit: Zapomniałem wspomnieć, item_1
i tak dalej, nie są prostymi wartości pól, ale każdy z nich jest raczej wyrazem, jak SELECT IF(field_1 = 1 and field_2 IS NOT NULL, 0, 1) AS item_1 ...
, więc wygląda na to, co muszę zrobić zapytanie zagnieżdżone:
SELECT (item_1 + item_2 ...) FROM (SELECT IF(field_1 = y and field_2 IS NOT NULL, 1, 0) AS item_1 ...) AS alias
Prawidłowe?
Ah! Więc ponieważ są to wyrażenia, a nie proste wartości, mogę wykonać zapytanie zagnieżdżone: SELECT (item_1 + item_2 ...) FROM (SELECT IF (field_1 = yi field_2 IS NOT NULL, 1, 0) AS item_1 ...) AS alias. Poprawny? – user151841
Tak, to zadziała. – RedFilter