@TanykaGURU

Как получить количество записей + сложить количество из столбца?

Всем привет!

Есть таблица в mysql:
id Name Count
1 Test null
2 Test2 5
3 Test3 2

Как получить количество записей в таблице + количество из столбца Count? Столбец Count перезаписывается, и каждый раз при перезаписи число увеличивается на +1, в конечном итоге там остается значение, которое означает сколько произведено записей.
То есть из примера необходимо вывести число 8, так как первая запись одна с нулевым значением Count, вторая запись имеет значение 5, третья -2, в итоге 8.

Как осуществить подобное?
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
Fernus
@Fernus
Техник - Механик :)
SELECT COUNT(*) AS `ALL`, SUM(IF(`count` IS NULL, 1, `count`)) AS `ALL_SUM` FROM `table`;
/*
ALL - общее кол-во записей
ALL_SUM - сумма столбца `count` с учётом, что NULL считаем за единицу
*/

5fc7908df06dc066093645.png
5fc790a08cee3653185908.png

Ну и на всякий случай, бонусом:
SELECT *, COUNT(*) AS `ALL`, SUM(IF(`count` IS NULL, 1, `count`)) AS `ALL_SUM` FROM `table` GROUP BY `id`;
/*
Это по каждой записи суммарное кол-во в поле `count` с учётом, что NULL считаем за единицу
*/

НО, если id это первичный уникальный ключ, то тут вообще можно убрать GROUP BY, а так же SUM и оставить только IF...т.е.
SELECT *, IF(`count` IS NULL, 1, `count`) AS `ALL_SUM` FROM `table`
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
в качестве значения использовать подзапрос (select count(*) from ...) + Count
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы