I am trying to write a query that selects recent submissions (sorted by
submission_date) but only selects the most recent one for each user_id.
example query: /select distinct on (user_id) * from stories order by
date_submitted desc limit 10;/
However postgres will not allow me to filter out duplicate rows with
distinct unless I sort on that column, which would product useless
results for me. Group by seems to have similiar problems, plus the
additional problem of wanting aggregate functions to be used.
I even tried sorting in a subquery, but it still comes out sorted by
user_id: /select distinct on (user_id) * from stories where sid in
(select sid from stories order by date_submitted desc limit 10);/
How can I work around this limitation to get the results sorted the way
I want, then have the duplicates removed? I can't be the only one
running into this limitation, there must be some workaround.
- [GENERAL] Distinct on a non-sort column Cstdenis
-