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

    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 комментарий