Я знаю, что было несколько сообщений, связанных с этим, но мой случай немного отличается, и я хотел получить некоторую помощь в этом.
Мне нужно извлечь некоторые данные из базы данных, которые представляют собой суммарное количество взаимодействий по дням. на данный момент это то, что у меня есть
SELECT
e.Date AS e_date,
count(e.ID) AS num_interactions
FROM example AS e
JOIN example e1 ON e1.Date <= e.Date
GROUP BY e.Date;
Результат этого близок к тому, что я хочу, но не совсем то, что мне нужно. проблема, с которой я сталкиваюсь, заключается в том, что даты хранятся с часами, минутами и секундами, когда произошло взаимодействие, поэтому группа по не группирует дни вместе.
так выглядит вывод. http://screencast.com/t/N1KFNFyil на 12-23 есть 5 взаимодействий, но они не сгруппированы, потому что отметка времени отличается . поэтому мне нужно найти способ игнорировать метку времени и просто смотреть на день.
если я попробую GROUP BY DAY(e.Date)
, он группирует данные только по дням (т. е. все, что произошло 1-го числа любого месяца, группируется в одну строку), и вывод совсем не тот, что мне нужен http://screencast.com/t/HN6DH3GV63M
GROUP BY DAY(e.Date), MONTH(e.Date)
разбивает его по месяцам и дням месяца, но снова счет не работает.
Я вообще не эксперт MySQL, поэтому я озадачен тем, что мне не хватает