Можно ли сгруппировать строки по дням, хранящимся в метке времени?
Я не уверен, если это даже в рамках 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);
Ваш вопрос пока дубликат: ссылка.