mySQL查询不返回日期

问题描述:

SELECT COUNT(*) AS count, state, DATE_FORMAT('%m/%d', registered) AS date_formatted 
FROM users 
WHERE CAST(registered AS DATE) > DATE_SUB(CURDATE(), INTERVAL 7 DAY) 
GROUP BY state, date_formatted 

以上是我们用来从我们的数据库中返回信息的查询。mySQL查询不返回日期

我们的日期将被保存为:2011-03-28 14:36:48(时间字段)

返回的数据如下:

Array 
(
    [] => Array 
     (
      [act] => 1 
      [nsw] => 1 
      [nt] => 1 
      [qld] => 3 
      [sa] => 1 
      [tas] => 1 
      [vic] => 1 
      [wa] => 4 
     ) 

) 

而且这还不是返回数组中的日期。

while($row = mysql_fetch_array($query)) { $my_array[$row['date_formatted']][$row['state']] = $row['count']; } 

这里是我们用来形成数组的php代码。

谢谢:)

+1

我不能相信,查询与3个表达式'SELECT'条款你8个值在PHP中。这是不可能的。 PS:'CAST(注册AS DATE)'在这里投射是没有意义的,并且拒绝使用索引的可能性。 – zerkms 2011-03-29 05:42:55

DATE_FORMAT发生的日期作为第一个参数,格式为第二个参数:

SELECT COUNT(*) AS count, state, DATE_FORMAT(registered ,'%m/%d') 
... 
+0

谢谢,我把他们弄错了,傻了。> Latox 2011-03-29 06:07:47