gpt4 book ai didi

php - 如何获得无计数的日子

转载 作者:行者123 更新时间:2023-11-30 23:28:02 24 4
gpt4 key购买 nike

Possible Duplicate:
What is the most straightforward way to pad empty dates in sql results (on either mysql or perl end)?




在some_table中创建的每个“记录”都有一个“日期”。

some_table:

-------------------------
id | record | my_date
-------------------------
1 | rec_a | 2012-08-01
2 | rec_b | 2012-08-02
3 | rec_c | 2012-08-02
4 | rec_d | 2012-08-04
5 | rec_e | 2012-08-06
6 | rec_f | 2012-08-06


my_query:

start_date和end_date来自输入

SELECT
my_date, COUNT(my_date) AS _count
FROM
some_table
WHERE
my_date
BETWEEN
start_date
AND
end_date
GROUP BY
DAY (my_date)


数组:

while($result = mysql_fetch_assoc($my_query))
{
$dataset[] = array($result['my_date'],intval($result['_count']));
}

json_encode($dataset);


这将使:

["2012-08-01",1]
["2012-08-02",2]
["2012-08-04",4]
["2012-08-06",6]


如何获得无计数的日子的最佳方法是什么?

["2012-08-01",1]
["2012-08-02",2]
["2012-08-03",0] <--
["2012-08-04",4]
["2012-08-05",0] <--
["2012-08-06",6]

最佳答案

可能最简单的方法是创建一个表,其中包含所有可能的日期。然后,您将从该表中进行选择,并保留对现有表的联接。

可能看起来很hack,但这是一种非常常见的模式,尤其是在数据仓库中。

关于php - 如何获得无计数的日子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12165127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com