我创建了一个名为acquity_fields的视图,其中包含4列(另请参阅附带的phpMyAdmin视图): meta_id; POST_ID; meta_key; meta_value
我正在使用这篇帖子Construct MySQL query ( meta_key/meta_value table)来帮助我创建一个查询,以便我可以拉出上个月(例如9月1日至30日)以及8月份的客户数量。
但我需要首先行走,所以我想显示所有个月,每个月都有客户端数量,然后添加上个月和之前的其他语句。
以下是我为了获得所有月份和客户而整理的查询,
SELECT COUNT(*) as Clients, MONTHNAME(FROM_UNIXTIME(meta_key = 'wpcf-acquity-date')) as Month
FROM acquity_fields
WHERE (meta_key = 'wpcf-acquity-date')
GROUP BY Month
但它似乎将所有客户放入一个月并将其显示为:
Clients | Month
----------------------
399 | January
我不确定它是否是时间转换,但我很难接受造成这种情况的原因。任何帮助都会很棒,并提前感谢!
答案 0 :(得分:0)
在查询的选择部分中,FROM_UNIXTIME()会接收时间戳,请尝试以下操作:
SELECT COUNT(*) as Clients, MONTHNAME(FROM_UNIXTIME(meta_value)) as Month
FROM acquity_fields
WHERE (meta_key = 'wpcf-acquity-date')
GROUP BY Month
(meta_key ='wpcf-acquity-date')是WHERE条件,而不是时间戳整数。如果您的某些内容不是时间戳,系统会将其视为默认日期,输出将根据您的设置变为12月或1月。