2016-11-22 70 views
1

我有一个日期时间字段表created_at。我想知道每一天的第一次和最后一次。获取第一次和最后一次每天postgres

这是工作查找所有天:

SELECT date(created_at) from foo where person_id=46 group by date(created_at); 

,这也在努力寻找的第一个和最后时间为一天。

SELECT min(created_at), max(created_at) from foo where person_id=46 and created_at::date = '2015-09-07'; 

我的问题是要合并它们。我正在考虑使用子查询,但它只返回一个结果。

SELECT min(created_at), max(created_at) 
FROM foo 
WHERE person_id=46 
AND created_at::date IN (
SELECT date(created_at) 
FROM foo 
WHERE person_id=46 
GROUP BY date(created_at)); 

回答

3

我想这应该为你做它:

SELECT DATE(created_at), min(created_at), max(created_at) FROM foo WHERE person_id=46 GROUP BY DATE(created_at);

+0

看起来不错。谢谢! – gustavgans

相关问题