微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我有这个记录:

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;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐