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

MySQL inteligente GROUP BY para fluxos de atividades


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.