加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL的.在记录中查找最大日期范围

发布时间:2020-12-13 15:55:01 所属栏目:百科 来源:网络整理
导读:我有这个记录: id | user_id | date 1 | 1 | 2015-01-01 2 | 1 | 2015-01-05 3 | 2 | 2014-01-01 4 | 2 | 2014-01-30 5 | 3 | 2014-01-25 6 | 3 | 2014-02-28 我想为每个用户选择日期范围,按日期范围长度排序. 所以,在结果中我想得到这个: user_id | min_d
我有这个记录:

id | user_id |    date   
 1 |    1    | 2015-01-01
 2 |    1    | 2015-01-05
 3 |    2    | 2014-01-01
 4 |    2    | 2014-01-30
 5 |    3    | 2014-01-25
 6 |    3    | 2014-02-28

我想为每个用户选择日期范围,按日期范围长度排序.

所以,在结果中我想得到这个:

user_id |  min_date   |  max_date
    2    |  2014-01-01 | 2014-01-30
    3    |  2014-01-25 | 2014-02-28
    1    |  2015-01-01 | 2015-01-05

可以用sql查询吗?

http://sqlfiddle.com/#!15/f958b

解决方法

我必须遗漏一些令人沮丧的事情,这不仅仅是一个简单的小组吗?

SELECT user_id,min(date),max(date) 
     FROM test_table
 GROUP BY user_id 
 ORDER BY max(date) - min(date) DESC,user_id;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读