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

发布于 2024-08-29 21:52:09 字数 159 浏览 6 评论 0原文

我有一些需要每月报告的统计数据。我需要我的查询返回 0 以获取不存在的统计信息。我知道执行此操作的唯一方法是使用 SQL 生成指定时间段内的日期列表,并LEFT JOIN我需要报告的统计数据。

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

I have some statistics I need to report on a monthly basis. I need my query to return 0's for statistics which aren't there. The only way I know to do this is to use SQL to generate a list of days within the specified time period and LEFT JOIN the statistic data that I need to report on.

Problem is.... I've never not selected from a table like that... how do I do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

呢古 2024-09-05 21:52:09

比较您的返回值,对于从未存在过的统计数据,您的返回值可能为 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

Compare your returned values, for statistic that never existed your returned value probably will be null, all you need to compare returned value with null and if null return 0 otherwise return real result

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

and you can use this link to read more at
http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_isnull

嘴硬脾气大 2024-09-05 21:52:09

如果值为 NULL 使用

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

If the values are NULL use

SELECT IFNULL( statistic, 0 ) AS statistic FROM myTable;
怎会甘心 2024-09-05 21:52:09

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

I ended up just using SQL to pull the data I have for the given period and handling everything else on the PHP side. Not exactly what I wanted, but it works.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文