- 関数型プログラミング言語Haskell Part27_©2ch.net
505 :デフォルトの名無しさん[sage]:2015/02/11(水) 10:00:45.87 ID:PH3lpTx+ - >>503
たとえば下記のテーブル record において amount 列を月毎に集計したいです。 date (date) amount (integer) 2014-12-05 6 2014-12-21 53 2015-01-18 41 ・・・ Haskell の persistent ライブラリのテンプレートで定義したテーブルの型は以下です。 Record date Data.Time.Callendar.Day amount Int 私が普段使っているのは PostgreSQL ですが、それだと、たとえば次のように書けます。 (他にも様々な書き方があると思います) select date_part('year', date) as y, date_part('month', date) as m, sum(amount) from record group by y, m; Hakell の esqueleto ライブラリには groupBy 関数があるので実現できるかと思ったのですが、 なかなかできません。 ちなみに、persistent ライブラリには group by に相当する機能が無さそうです。
|
|