I have a table that has two fields dt(DateTime) and isblocked(Bit)

What I’ve been trying to do is find the time span between two dates/times where there is 45 mins continuously free – based on a start date/time.
for example: based on the table above using 2012-12-11 13:30:00′ as my start date.
I would need values like this:
2012-12-11 15:30:00
2012-12-11 16:45:00
I have tried some min and max queries, like:
SELECT MIN(dt), isbooked
FROM booking
WHERE dt >= '2012-12-11 13:30:00' AND isbooked = 1
GROUP BY dt
LIMIT 1;
But I can’t seem to get the right structure together. If more information is needed just let me know.
In MySQL you can do this with a correlated subquery:
What this does is find the first booked interval for each record, and remembers the time. It then finds the first booked interval, and checks when the difference is 45 minutes or larger.