按两个日期之间的所有日期对行进行分组

时间:2017-05-24 08:12:05

标签: postgresql

鉴于两个日期startend,我希望在这两个日期之间将记录分组到deviceIddays

如果我的表格如此,我有start = 2017-05-24end = 2017-05-27

id   deviceId   data   createdAt
1       1        {}    2017-05-24
2       1        {}    2017-05-25
3       2        {}    2017-05-24
4       3        {}    2017-05-25
5       1        {}    2017-05-01
6       1        {}    2017-05-29

我想得到

   days       deviceId    data
2017-05-24        1        {} // id 1
                  2        {} // id 3
2017-05-25        1        {} // id 2
                  3        {} // id 4

到目前为止,我的初步计划是:

  • 使用

    获取两个日期之间的所有日期
    select (generate_series(start, end, '1 day'::interval))::date as days;
    
  • 将其加入我的表格

  • daysdeviceId
  • 分组

但遗憾的是我无法写出相应的查询。

我的查询构思接缝是否正确?你知道并有效地实施它吗?

1 个答案:

答案 0 :(得分:1)

 $('[id^="player"]').on('ended', function() {
     id = this.id.replace('player','')
     $('#speaker' + id).removeClass('speakerplay');
     audiostatus = 'off';
 });