从meta_value查找上个月的日期的Mysql查询

时间:2017-10-06 20:49:17

标签: mysql phpmyadmin

我创建了一个名为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

我不确定它是否是时间转换,但我很难接受造成这种情况的原因。任何帮助都会很棒,并提前感谢!

View acquity_fields in phpmyadmin

1 个答案:

答案 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月。