Это очень сложно объяснить только одним вопросом, однако здесь идет речь.Как получить таблицу, показывающую события на пользователя за промежуток времени?
В базе данных MySQL у меня есть таблица с названием видео, в которой есть все созданные видео. структура что-то вроде этого
id
owner
title
created_at
У меня есть другой пользователь стол, что-то вроде этого
id
name
created_at
Цель состоит в том, чтобы получить по следующей графике
оси х месяц # y ось - количество видео в месяц
Как вы можете видеть, это показывает h ow много видео каждый пользователь, созданный каждый месяц. НО в первый месяц всегда 30 дней с даты создания пользователя. Так что для пользователя Ben это будет с 2016-10-01 по 2016-11-01, но для Рика это с 2016-08-01 по 2016-09-01
Так что для первого месяца Бена это другое с первого месяца Рика примерно на 60 дней.
Но в графе Я хочу, чтобы показать все из них, как месяц # 1
Мое решение на данный момент является «нормализовать» данные. Поэтому, чтобы получить данные для Бена, я взял разницу между фиксированной датой (я установил ее до 2016-01-01) и вычислил разницу дней.
Тогда я вычесть количество дней для всех видео и таким образом все видео первый месяц собирается быть 2016-01-01 к 2016-02-01
Это работает, но я на самом деле не уверен, что это лучший подход.
Кто-нибудь, кто лучше знает, как это сделать?
Благодаря
Дружественное предложение использовать этот вид инструмента для отображения данных примера: http://www.tablesgenerator.com/text_tables. Он действительно помогает понять вашу схему данных и сделать ее более интуитивной. – Wistar
sound ok для меня, но вместо использования фиксированной даты я бы использовал 'MIN (date)' –