sql >> Databáze >  >> RDS >> Mysql

Inteligentní MySQL GROUP BY pro streamy aktivit

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.



  1. Jak získat text SQL ze spouštěče události Postgres

  2. Jak vrátit pozici položky seznamu v MySQL

  3. MySQL kombinuje dva sloupce do jednoho sloupce

  4. SQLite JSON_EXTRACT()