我有一个包含日期时间字段的表created_at。我想找出每天的第一次和最后一次。
这适用于查找所有日期:
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));
最佳答案
我认为这应该适合你:
选择日期(创建时间)、最小时间(创建时间)、最大时间(创建时间)
来自 foo
其中 person_id=46
按日期分组(创建时间);
关于sql - 在postgres中获取每天的第一次和最后一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40747382/