1 of 2

Based on your sample, I believe you only need a GROUP BY ID with an HAVING clause on MIN([interestingData]) > 300.

Query:

SELECT ID
    , interestingData = MIN([interestingData])
    , timestamp = MIN([timestamp])
    , count = COUNT([ID])
FROM Table1
GROUP BY ID
HAVING MIN([interestingData]) > 300;

SQL Fiddle with sample data and query.

Output:

ID interestingData timestamp count 1 350 2016-01-23 17:01:00 3