我不确定这是否属于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?
答案 0 :(得分:2)
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);
到目前为止,您的问题是重复的:link。