Можно ли сгруппировать строки по дням, хранящимся в метке времени?

Я не уверен, если это даже в рамках MySQL, если честно, или нужен какой-то php здесь для анализа данных. Но если это... какая-то хранимая процедура, вероятно, необходима.

У меня есть таблица, в которой хранятся строки с отметкой времени и количеством.

Мой запрос является динамическим и будет искать на основе предоставленного пользователем диапазона дат. Я хотел бы получить SUM() сумм за каждый день в таблице, которые находятся между диапазонами дат. в том числе 0, если в данный день нет записей

Что-то с эффектом...

SELECT 
   CASE
     WHEN //there are entries present at a given date
       THEN SUM(amount)
     ELSE 0
   END AS amountTotal,
   //somehow select the day
   FROM  thisTableName T
   WHERE T.timeStamp BETWEEN '$start' AND '$end'
   GROUP BY //however I select the day

Это два участника...
Есть ли способ выбрать раздел возвращаемого столбца? Как какое-то регулярное выражение в mysql?
Есть ли способ вернуть 0 для дат без строк?

1 ответ

Решение
select * from thisTableName group by date(created_at);

В вашем случае это было бы больше похоже

SELECT id, count(id) as amountTotal
FROM thisTableName
WHERE timeStamp BETWEEN '$start' AND '$end'
GROUP BY DATE(timeStamp);

Ваш вопрос пока дубликат: ссылка.

Другие вопросы по тегам