Několik postřehů k požadovaným výsledkům:
Některé položky jsou agregované (Jack Sprat srdcem sedm prodejců) a jiné jsou rozepsané (Lord Nelson si pronajal Golden Hind). Pravděpodobně potřebujete mít ve svém dotazu UNION, která spojí tyto dvě třídy položek ze dvou samostatných poddotazů.
Ke seskupení položek používáte poměrně hrubou funkci časového razítka... DATE()
. Možná budete chtít použít sofistikovanější a vylepšitelné schéma... možná takto
GROUP BY TIMESTAMPDIFF(HOUR,CURRENT_TIME(),stream_date) DIV hourchunk
To vám umožní seskupit věci podle věkových skupin. Pokud například použijete 48 pro hourchunk
seskupíte věci, které jsou před 0-48 hodinami. Při přidávání provozu a akcí do vašeho systému možná budete chtít snížit hourchunk
hodnotu.