MySQL选择日期,加入统计数据 - 如何?

时间:2010-04-22 20:31:58

标签: mysql null left-join

我有一些统计数据需要每月报告一次。我需要我的查询返回0的统计数据不存在。我知道这样做的唯一方法是使用SQL生成指定时间段内的天数列表,并LEFT JOIN我需要报告的统计数据。

问题是......我从来没有从那样的表中选择......我该怎么做?

3 个答案:

答案 0 :(得分:0)

比较您的返回值,对于从未存在过的返回值的统计信息可能为null,您需要将返回值与null进行比较,如果null则返回0否则返回实际结果

select s.Name , IFNULL(d.Value, 0) as Value
 from Statustic s
LEFT JOIN t_Data d on (d.Stat_ID=s.ID)

您可以使用此链接阅读更多内容 http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_isnull

答案 1 :(得分:0)

如果值为 NULL ,请使用

SELECT IFNULL( statistic, 0 ) AS statistic FROM myTable;

答案 2 :(得分:0)

我最终只使用SQL来提取给定时间段内的数据并处理PHP端的其他所有内容。不完全是我想要的,但它确实有用。