- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有一个名为“Diary”的表,如下所示:
| id | user_id | recorded_at | record |
|----|---------|--------------------------|--------|
| 20 | 50245 |2017-10-01 23:00:14.765366| 89 |
| 21 | 50245 |2017-12-05 10:00:33.135331| 97 |
| 22 | 50245 |2017-12-31 11:50:23.965134| 80 |
| 23 | 76766 |2015-10-06 11:00:14.902452| 70 |
| 24 | 76766 |2015-10-07 22:40:59.124553| 81 |
对于每个用户,我想检索最新的行和之前一个月内的所有行。
换句话说,对于 user_id 50245,我想要他/她的数据从“2017-12-01 11:50:23.965134”到“2017-12-31 11:50:23.965134”;对于 user_id 76766,我希望他/她的数据从“2015-09-07 22:40:59.124553”到“2015-10-07 22:40:59.124553”。
因此,期望的结果如下所示:
| id | user_id | recorded_at | record |
|----|---------|--------------------------|--------|
| 21 | 50245 |2017-12-05 10:00:33.135331| 97 |
| 22 | 50245 |2017-12-31 11:50:23.965134| 80 |
| 23 | 76766 |2015-10-06 11:00:14.902452| 70 |
| 24 | 76766 |2015-10-07 22:40:59.124553| 81 |
请注意,id 20 的记录不包括在内,因为它比 user_id 50245 的最后一条记录早了一个多月。
有什么方法可以编写 SQL 查询来实现此目的吗?
最佳答案
我会倾向于使用窗口函数:
select d.*
from (select d.*, max(d.recorded_at) over (partition by d.user_id) as max_recorded_at
from diary d
) d
where recorded_at >= max_recorded_at - interval '1 month';
关于sql - 选取每个用户最后一条记录前一个月内的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48345520/
在下面的代码中,我想不必添加undefined作为filteredDevice的类型注解。我认为一个被过滤的设备不应该是未定义的,因为我过滤掉了未定义的设备。 但是如果我删除 undefined类型注
我有一个 UIButton,其文本来自服务器。按钮的宽度是固定的。我想要的是,如果按钮的文本超过按钮的宽度,文本应该在按钮内选取框。如果文本适合按钮宽度,则不应有选取框效果。 我点击了一些链接(one
我正在从头开始实现 webgl 选取,并决定走 GLSL 路线,而不是光线相交测试。 所以我将整个场景渲染到一个单独的帧缓冲区中,为每个对象分配一个唯一的颜色,该颜色作为统一变量传递给片段着色器。当场
例如,我有包含多个对象的数组, var arr = ["a", "b", "c", "d"]; 我想要的是从该数组中选取 2 个随机对象,例如“a”和“c”,并将这 2 个对象推送到另一个数组中,例如
我是一名优秀的程序员,十分优秀!