У меня есть следующие таблицы базы данных:GROUP BY и сумма составляет
+----------+----------+---------+-----------+------------+-----------+
| animalID | foodtype | rAmount | rAmtUnits | rFrequency | rFreqUnit |
+----------+----------+---------+-----------+------------+-----------+
| 3498 | BANA | 3 | lbs. | 1 | day |
| 3455 | NUTS | 10 | lbs. | 1 | day |
| 3455 | VEGG | 20 | lbs. | 1 | day |
| 3450 | NUTS | 10 | lbs. | 1 | day |
| 3450 | VEGG | 20 | lbs. | 1 | day |
| 3450 | HAY | 100 | lbs. | 1 | day |
| 3452 | HAY | 100 | lbs. | 1 | day |
| 3452 | NUTS | 10 | lbs. | 1 | day |
| 3452 | VEGG | 20 | lbs. | 1 | day |
| 9490 | BEFR | 2 | lbs. | 1 | day |
| 2899 | BEFR | 2 | lbs. | 1 | day |
| 8393 | ANTS | 10 | ltr. | 1 | day |
| 8899 | EUCL | 5 | lbs. | 1 | day |
| 4883 | FISH | 4 | lbs. | 1 | day |
| 7838 | MICE | 3 | ea. | 1 | wk. |
| 7838 | RATS | 1 | ea. | 2 | wk. |
| 4884 | WPLN | 3 | lbs. | 1 | wk. |
| 1863 | BEFR | 3 | lbs. | 1 | day |
| 2847 | EUCL | 3 | lbs. | 1 | day |
| 4336 | BANA | 2 | lbs. | 1 | day |
| 4336 | NUTS | 1 | lbs. | 1 | day |
| 4336 | CHWM | 2 | cups | 1 | day |
| 2856 | CHWM | 2 | cups | 1 | day |
| 2856 | BANA | 1 | lbs. | 1 | day |
| 2856 | NUTS | 2 | lbs. | 1 | day |
| 8483 | NUTS | 2 | cups | 1 | day |
| 8483 | SEED | 2 | cups | 1 | day |
+----------+----------+---------+-----------+------------+-----------+
И я хочу перечислить количество пищи и необходимых количествах в течение недели. У меня есть следующий запрос:
SELECT foodtype,
CASE
WHEN rFrequency=1 AND rFreqUnit='day' THEN rAmount*7
WHEN rFrequency=2 AND rFreqUnit='wk.' THEN rAmount/2
ELSE rAmount END AS rAmount, rAmtUnits
FROM Rations GROUP BY foodtype;
Но с GROUP BY, столбец rAmount не суммируется, большинство значений просто исчезают. Я ищу способ, чтобы GROUP BY суммировала все значения, которые были бы там без GROUP BY. Любой простой способ сделать это?
Вам необходимо агрегировать столбец rAmount с SUM() – Joe