Select records based on earliest date in a linked record
Good question. First you need the full date rather than just a year to pick the earliest in year. So I'm assuming event_date in Venues

SELECT title, name, MIN(event_date)
FROM Stories s
JOIN Story_in_Venue sv ON s.story_id = sv.story_id
JOIN Venues ON v.venue_id = sv.venue_id
WHERE genre="Mystery" and event_date &gt;= "1960-01-01" AND event_date &lt; "1961-01-01"
GROUP BY s.story_id


The event_date and genre are the searched columns so they should be indexes/