我在Postgres中有一个表,我试图根据另一个单元格中的唯一值返回Max列值
我的表目前看起来像这样。
|---------------------|------------------|
| endtime | woid |
|---------------------|------------------|
| 1515224469053 | 1 |
|---------------------|------------------|
| 1515224472342 | 1 |
|---------------------|------------------|
| 1515224459092 | 2 |
|---------------------|------------------|
| 1515224429053 | 2 |
|---------------------|------------------|
| 1515224402345 | 2 |
|---------------------|------------------|
| 1515224465033 | 3 |
|---------------------|------------------|
...我需要在endtime字段中返回Max值,其中woid字段是唯一的。
因此得到的表如下所示:
|---------------------|--------------|------------------|
| endtime | woid | Max(endtime) |
|---------------------|--------------|------------------|
| 1515224469053 | 1 | 1515224472342 |
|---------------------|--------------|------------------|
| 1515224472342 | 1 | 1515224472342 |
|---------------------|--------------|------------------|
| 1515224459092 | 2 | 1515224459092 |
|---------------------|--------------|------------------|
| 1515224429053 | 2 | 1515224459092 |
|---------------------|--------------|------------------|
| 1515224402345 | 2 | 1515224459092 |
|---------------------|--------------|------------------|
| 1515224465033 | 3 | 1515224465033 |
|---------------------|--------------|------------------|
答案 0 :(得分:1)
http://sqlfiddle.com/#!17/46fcd/1
SELECT *, MAX(endtime) OVER(PARTITION by woid) FROM times;
答案 1 :(得分:0)
按Woid分组并加入以获得相应的max_endtime。
select t1.endtime, t1.woid, t2.max_endtime
from table t1
join (select woid, max(endtime) as max_endtime
from table t2
group by woid) t2
on t1.woid = t2.woid