Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL:um intervalo de tempo disponível em tempos consecutivos


Esta consulta verifica se você tem @x/5 vagas gratuitas no próximo @x minutos. E se sim, então eles cobrem todo @x intervalo de minutos, significa que eles são consecutivos.
set @x=15;
select distinct t1.date
from
    `agenda_specialists` as t1 join
    `agenda_specialists` as t2 on
        t2.date=t1.date and
        t2.begin>=t1.begin and
        t2.begin<addtime(t1.begin,sec_to_time(@x*60))
group by t1.id
having count(*)[email protected]/5

http://sqlfiddle.com/#!2/54d9f6/50