【问题标题】:MySQL select date, join statistic data - how?MySQL选择日期,加入统计数据 - 如何?
【发布时间】:2012-05-05 20:16:37
【问题描述】:

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

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

【问题讨论】:

标签: mysql null left-join


【解决方案1】:

比较你的返回值,对于从不存在的统计,你的返回值可能为null,你只需要比较返回值和null,如果null返回0,否则返回真实结果

选择 s.Name , IFNULL(d.Value, 0) 作为值 来自Statistics 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

【讨论】:

    【解决方案2】:

    如果值是 NULL 使用

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2012-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多