Algumas observações sobre os resultados desejados:
Alguns dos itens são agregados (Jack Sprat hearted sete vendedores) e outros são discriminados (Lord Nelson fretou o Golden Hind). Você provavelmente precisa ter um UNION em sua consulta que reúna essas duas classes de itens de duas subconsultas separadas.
Você usa uma função de proximidade de timestamp bastante grosseira para agrupar seus itens ...
DATE()
. Você pode querer usar um esquema mais sofisticado e ajustável... como este, talvez GROUP BY TIMESTAMPDIFF(HOUR,CURRENT_TIME(),stream_date) DIV hourchunk
Isso permitirá que você agrupe as coisas por blocos de idade. Por exemplo, se você usar 48 para
hourchunk
você agrupará coisas de 0 a 48 horas atrás. Conforme você adiciona tráfego e ação ao seu sistema, você pode querer diminuir o hourchunk
valor.