2014-09-30 33 views
1
3 2014-09-30 16:07:18.690498 
2 2014-09-30 16:06:30.224745 
1 2014-09-30 16:04:45.844215 

select DISTINCT ON (DATE(dt)) 
     id, dt 
     from test 
     ORDER BY DATE(dt) DESC 

输出是id 2,应该是ID为3DISTINCT与错误的输出

我做错了吗?我只对DISTINCT ON这种查询感兴趣。

回答

1

尝试类似:

select DISTINCT ON (DATE(dt)) 
     id, dt 
     from test 
     ORDER BY DATE(dt) DESC, dt DESC 
1

你必须dt添加为了得到一致的结果:

select distinct on (date(dt)) 
    id, dt 
from test 
order by date(dt) desc, dt desc 

sql fiddle demo