Выберите СУММ с группировкой MYSQL - PullRequest
0 голосов
/ 12 июля 2020

У меня возникли трудности с СУММОМ в mysql с группировкой из определенного поля

+------------+----------+----------------------+
| order_plan | subgroup | requested_amount_usd |
+------------+----------+----------------------+
| 2020-07    | SOFTWARE |                10.00 |
| 2020-07    | SOFTWARE |                15.00 |
| 2020-07    | FLASHDISK|                25.00 |
| 2020-08    | SOFTWARE |                10.00 |
+------------+----------+----------------------+

то, что я пытался запросить (используя CI):

$this->db
->distinct('subgroup','order_plan')
->select_sum('requested_amount_usd','requested_amount')
->from($table);
return $this->db->get()->result_array();

результат выглядел так:

+------------------+
| requested_amount |
+------------------+
|           60.00  |
+------------------+

в то время как я был ожидал , результат был бы таким:

+------------+----------+----------------------+
| order_plan | subgroup | requested_amount_usd |
+------------+----------+----------------------+
| 2020-07    | SOFTWARE |                25.00 |
| 2020-07    | FLASHDISK|                25.00 |
| 2020-08    | SOFTWARE |                10.00 |
+------------+----------+----------------------+

Как я могу этого добиться?

1 Ответ

0 голосов
/ 12 июля 2020

SELECT order_plan
     , subgroup
     , SUM(requested_amount_usd) AS requested_amount_usd
  FROM {table} 
 group 
    by subgroup
     , order_plan

Всегда помните, что вам нужно ГРУППИРОВАТЬ все остальные столбцы при использовании SUM (), AVG (), COUNT ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...