Php 返回错误月份的日期(时间戳)

Php 返回错误月份的日期(时间戳),php,mysql,timestamp,Php,Mysql,Timestamp,我的问题是: $chart_result = mysql_query("SELECT * FROM (SELECT DATE(timestamp) AS ts, YEAR(timestamp) AS year, MONTH(timestamp) AS month,

我的问题是:

$chart_result = mysql_query("SELECT * 
                             FROM (SELECT DATE(timestamp) AS ts, 
                                          YEAR(timestamp) AS year, 
                                          MONTH(timestamp) AS month, 
                                          DAY(timestamp) AS day, 
                                          SUM(paymentgross) AS sales 
                                   FROM stats_ans_1 
                                   GROUP BY DATE(timestamp) DESC 
                                   LIMIT 10
                                  ) AS TBL 
                             GROUP BY ts");
这是时间戳:

2012-09-12 19:45:23
月份(timestamp)是绝对确定的,时间戳是在10月而不是9月-这显然是错误的。可怜我可怜的脑细胞

您可以使用函数以字符串格式返回月份:

SELECT DATE_FORMAT('2012-09-12 19:45:23', '%M') AS `month`;
另外,您不需要使用
分组依据
两次,请尝试以下查询:

SELECT DATE(timestamp) AS ts,
       YEAR(timestamp) AS year,
       MONTH(timestamp) AS month,
       DAY(timestamp) AS day,
       SUM(paymentgross) AS sales
FROM stats_ans_1
GROUP BY DATE(timestamp) DESC
LIMIT 10;

如何让它返回正确的月份您应该避免在新应用程序中使用
mysql\u query
mysqli
几乎同样易于使用,还提供了确保数据安全的功能。