I need some help figuring out a query
I have 3 tables
sources
id, name, rank
origin
id, source_id (FK to sources id), name
One source can have many origins
product
id, origin_id (FK to origin id), name, time_added
One origin can have many products
Now, what I want is to select the most recent products per source, ordered by rank descending
Any suggestions?
This should do as you have requested, though without sample output it’s hard to be 100% certain. Inner query selects products linked to the source id ordered by the date added from newest to oldest, and in turn that’s joined to sources and grouped.
This avoids having to do potentially expensive opreations as the inner select should be pretty fast and can be limited as required