Всем привет. Есть таблица оплат услуг: id, status, charge, updated_at. Если клиент оплатил, ststus = payed, иначе ststus = unpayed. Сума в столбце charge. Updated_at - datetime. Я делал запрос - сумма оплаченных (payed) по месяцам и по годам: Код (Text): SELECT YEAR(updated_at) as year, MONTH(updated_at) as month, SUM(charge) AS charge_sum FROM ssi WHERE status=payed GROUP by year, month В итоге у меня получилось - payed year month charge_sum 2019 7 3225108 2019 8 744000 2019 9 650000 2020 7 9000 2020 8 3000 2020 9 2000 Как мне добавить столбец справа - сумма unpayed?
Код (Text): SELECT YEAR(updated_at) as year, MONTH(updated_at) as month, SUM(case when status='payed' then charge else 0 end) AS charge_sum_payed, SUM(case when status='unpayed' then charge else 0 end) AS charge_sum_unpayed FROM ssi GROUP by year, month
Не обязательно, но просто из практики: Обычно поля для двоичной логики описывают как BOOL или TYNYINT(1) и хранятся там значения 1 или 0, а проверяют как WHERE status или WHERE NOT status
это так, для примера. там еще есть статусы, т.е больше двух --- Добавлено --- а на Laravel это написать слабо? --- Добавлено --- круто, чувак. СПАСИБО