Quelques observations sur les résultats souhaités :
Certains des articles sont agrégés (Jack Sprat comptait sept vendeurs) et d'autres sont détaillés (Lord Nelson a affrété le Golden Hind). Vous devez probablement avoir un UNION dans votre requête qui rassemble ces deux classes d'éléments à partir de deux sous-requêtes distinctes.
Vous utilisez une fonction de proximité d'horodatage assez grossière pour regrouper vos éléments ... DATE()
. Vous voudrez peut-être utiliser un schéma plus sophistiqué et modifiable... comme celui-ci, peut-être
GROUP BY TIMESTAMPDIFF(HOUR,CURRENT_TIME(),stream_date) DIV hourchunk
Cela vous permettra de regrouper les choses par tranches d'âge. Par exemple, si vous utilisez 48 pour hourchunk
vous regrouperez les éléments datant de 0 à 48 heures. Au fur et à mesure que vous ajoutez du trafic et de l'action à votre système, vous souhaiterez peut-être réduire le hourchunk
valeur.