我意识到数据库查询返回了意外的结果,这是因为我对"DISTINCT ON"和"GROUP BY"的错误使用
我希望有人能帮我直截了当.实际的查询非常复杂,所以我会愚蠢的:
我有一个table/inner查询,包含一个object_id和一个时间戳:
CREATE TABLE test_select ( object_id INT , event_timestamp timestamp );
COPY test_select (object_id , event_timestamp) FROM stdin (DELIMITER '|');
1 | 2013-01-27 21:01:20
1 | 2012-06-28 14:36:26
1 | 2013-02-21 04:16:48
2 | 2012-06-27 19:53:05
2 | 2013-02-03 17:35:58
3 | 2012-06-14 20:17:00
3 | 2013-02-15 19:03:34
4 | 2012-06-13 13:59:47
4 | 2013-02-23 06:31:16
5 | 2012-07-03 01:45:56
5 | 2012-06-11 21:33:26
\.
Run Code Online (Sandbox Code Playgroud)
我正在尝试选择一个不同的ID,按逆时针上的时间戳排序/重复数据删除
所以结果应该是[4,1,3,2,5]
我认为这就是我所需要的(似乎):
SELECT object_id
FROM test_select
GROUP BY object_id
ORDER …Run Code Online (Sandbox Code Playgroud)