SQL请求按创建日期对数字进行分组和求和

时间:2012-08-02 10:05:41

标签: sql postgresql jpa

让我解释一下。我有一张桌子,里面有两个我需要的重要字段: 第一个是双,第二个是约会。

我想提出按YYYY-MM-DD对条目进行分组的请求,并按组添加双重字段。

例如,我当天有两个条目:

   |   amount    |    date
1  |    100      | 2010-01-01
2  |    200      | 2010-01-01

我需要的是:

1  |     300     | 2010-01-01

这可能吗?目前这是我的要求:

 SELECT DISTINCT ON (d) amount, to_char(datecreation, 'YYYY-MM-DD') d
   FROM mytable
  GROUP BY d, amount
  ORDER BY d ASC;

我得到的是:

1  | 100   | 2010-01-01

它不会添加分组数量。

2 个答案:

答案 0 :(得分:1)

select sum(amount), date from mytable group by date order by sum(amount) ASC;

如果您的日期有时间部分,那么

select sum(amount), to_char(date, 'YYYY-MM-DD') from mytable group by to_char(date, 'YYYY-MM-DD') order by sum(amount) ASC;

答案 1 :(得分:1)

SELECT SUM(amount) amount, to_char(date, 'YYYY-MM-DD')
  FROM myTable
 GROUP BY to_char(date, 'YYYY-MM-DD')
 ORDER BY SUM(amount) ASC;