I am trying to build a dataflow using redshift but distinct on is not supported.
It's a simple query:
(SELECT distinct on ("id")
from "indicator" as ind
order by "id", "rank" desc)
Any suggestions for workarounds?
SELECT DISTINCT "id" FROM "table"
is supported in redshift, but you've got some interesting syntax going on there, so I'm not sure I understand what you're trying to get done.
Side note, if all you need is a SELECT DISTINCT, Magic 2.0 will probably outperform a Redshift transform. I strongly recommend you take a look. With updates to the engine, and inclusion of the Add Formulas tile, most of the objections SQL developers had against Magic 1.0 ... don't really hold anymore.
And the performance improvements and increased consistency in dataflow execution times makes it well worth the effort to refactor.
If you don't have Magic 2.0 in your instance, contact your CSM and ask them to enable the beta.
@jaeW_at_Onyx I am basically trying to get the highest rank for every id, but the rank can vary and be anything between 1 to 10 (so I cannot solve it through a where statement with rank=..). And I am looking at id and addtional id features.
Sort your rank DESCENDING and then filter WHERE rank = 1.