トップページ > プログラム > 2015年02月11日 > PH3lpTx+

書き込み順位&時間帯一覧

82 位/221 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000100000000000001



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
関数型プログラミング言語Haskell Part27_©2ch.net

書き込みレス一覧

関数型プログラミング言語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 に相当する機能が無さそうです。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。