Хорошо, поэтому мое требование довольно простое. У меня такой стол.MySQL: Получение количества и суммы целочисленных значений в нескольких столбцах
images | videos | reviews
--------------------------------------------------
0 | 2 | 1
4 | 5 | 0
11 | 1 | 4
0 | 1 | 7
Мне нужно написать запрос, который подсчитывает строки в каждом столбце, не равно 0
, а также, что дает фактическую сумму чисел в столбцах. Таким образом, результат будет выглядеть примерно так.
Columns | Counts | Sum
----------------------------------------------------
images | 2 | 15
videos | 4 | 9
reviews | 3 | 13
Возможно ли это с помощью SQL? Я не хочу делать эту сумму на уровне приложения. До сих пор я написал этот запрос, и он отлично работает, просто без суммы.
SELECT 'images', SUM(images != 0)
FROM dpsreport where publisherId = 91
UNION
SELECT 'videos', SUM(videos != 0)
FROM dpsreport where publisherId = 91
UNION
SELECT 'reviews', SUM(reviews != 0)
FROM dpsreport where publisherId = 91;
Обратите внимание, что SUM
в запросе дает мне количество строк, а не фактическую сумму, как и в математическом придачу.