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代码。
谢谢:)
答
DATE_FORMAT
发生的日期作为第一个参数,格式为第二个参数:
SELECT COUNT(*) AS count, state, DATE_FORMAT(registered ,'%m/%d')
...
+0
谢谢,我把他们弄错了,傻了。> Latox 2011-03-29 06:07:47
我不能相信,查询与3个表达式'SELECT'条款你8个值在PHP中。这是不可能的。 PS:'CAST(注册AS DATE)'在这里投射是没有意义的,并且拒绝使用索引的可能性。 – zerkms 2011-03-29 05:42:55