Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 根据月份名称获取记录,而不管值是否存在_Php_Mysql - Fatal编程技术网

Php 根据月份名称获取记录,而不管值是否存在

Php 根据月份名称获取记录,而不管值是否存在,php,mysql,Php,Mysql,我必须过滤从当前日期算起的最近3个月的数据,以便从8月到10月提取数据。但10月的值仅存在于mysql表中,因此现在我希望以以下格式显示记录: Month Values Aug 0 Sept 0 Oct 10 但我的查询只显示10月份的记录,因为我没有前两个月的记录。 我怎样才能做到这一点。以下是我的疑问 SELECT CASE WHEN COUNT(DISTINCT(user_analytics_id)) > 0 THEN C

我必须过滤从当前日期算起的最近3个月的数据,以便从8月到10月提取数据。但10月的值仅存在于mysql表中,因此现在我希望以以下格式显示记录:

Month     Values
Aug          0
Sept         0
Oct          10
但我的查询只显示10月份的记录,因为我没有前两个月的记录。 我怎样才能做到这一点。以下是我的疑问

SELECT
CASE WHEN COUNT(DISTINCT(user_analytics_id)) > 0 THEN COUNT(DISTINCT(user_analytics_id)) ELSE 0 END as pic_views,
YEAR(user_profile_viewed_date) AS pic_viewed_year,
MONTHNAME(user_profile_viewed_date) as pic_viewed_month
FROM (`user_analytics`)
WHERE `user_id` = '1' AND `view_type` = 'picture'
AND `user_profile_viewed_date` BETWEEN '2010-07-28 04:23:56' AND '2010-10-28 04:23:56'
GROUP BY MONTH(user_profile_viewed_date) ORDER BY MONTH(user_profile_viewed_date) ASC

上面的查询没有按我希望的那样工作。因此,请在这方面帮助我。

用数字1创建另一个表。。12和左键将您的表加入其中。

它返回仅存在月份的值,在我的示例中,piv_views=1,pic_viewed_year=2010,pic_viewed_MOUNT=10月,但我想显示月份8月,9月和10月,不存在的月份的值为0。如果不使用任何其他表格,我们能否找到解决方案…?@Sudhir:我从未见过任何其他解决方案。