GROUP BY и агрегация по вектору карт - Clojure

У меня есть данные, которые выглядят как это

(def a [{:firmAccount "MSFT" :Val 10  :PE 3 }  
        {:firmAccount "MSFT" :Val 15  :PE 4} 
        {:firmAccount "GOG" :Val 15 :PE 3} 
        {:firmAccount "YAH" :Val 8 :PE 1}])

Я хочу сгруппировать по: firmAccount, а затем СУММИРОВАТЬ: Val и: PE для каждой учетной записи фирмы и получить что-то вроде

 [{:firmAccount "MSFT" :Val 25 :PE 7}
  {:firmAccount "GOG" :Val 15 :PE 3}    
  {:FirmAccount "YAH" :Val 8 :PE 1}]

Это действительно тривиальная вещь, и в SQL я бы даже не стал думать дважды, но поскольку я изучаю Clojure, пожалуйста, несите меня

9
задан Nathan Davis 28 March 2019 в 03:47
поделиться