Extract all rows until and including
This will do what you want. If there is no row with check_type = 'scheduled' in the specified interval, it will return no rows at all. If you want all the rows instead, it will have to be slightly modified:

WITH find_schedule AS
  ( SELECT created_at
    FROM project_check_history
    WHERE check_type = 'scheduled'
      AND checked_at &lt;= '2016-09-26'
    ORDER BY checked_at DESC
    LIMIT 1
  ) 
SELECT  -- DISTINCT 
    created_at
FROM project_check_history
WHERE checked_at &lt;= '2016-09-26'
  AND checked_at &gt;= (TABLE first_schedule) ;