mysql echo结果分组名称和最近?

时间:2015-02-20 14:05:55

标签: mysql

我正在使用以下MySQL语句来回显我最近的更改来自我的表' recent_activity'。

$query1 = "SELECT * FROM $table WHERE user_id = '{$_SESSION['id']}' AND date > NOW() - INTERVAL 30 DAY GROUP BY activity_type ORDER BY date DESC";
$result1 = mysql_query($query1);
while ($row1 = mysql_fetch_array($result1)) {

这旨在回应用户最近采取的措施。

在我的表格中" recent_activity'我有以下结构:

Id   |   User_Id     |    Date         |   Activity_type   |    status
1           1      20/02/2014  12:00:01    Password
2           1      21/02/2014  12:20:01    Bank 
3           1      22/02/2014  12:01:01    Username
4           1      20/02/2014  12:05:01    Password

我的日期字段是DATETIME格式。

我的查询对每种活动类型进行分组,因此只会显示每个操作之一。这很好,所以我最终得到以下结论:

Bank        Actioned on 'date'
Password    Actioned on 'date'
Username    Actioned on 'date'

问题是我按照日期desc命令我的结果,所以这将显示最近降序的日期变化。

但如果我在同一天更改密码两次,例如

2月20日下午1点1点 然后是2月20日下午2点的第二次

下午1点的密码更改会被回复,而不是我的下午2点更改?

这是为什么?我可以按日期和时间订购我的MySQL结果吗?

希望有人可以提供帮助。感谢

1 个答案:

答案 0 :(得分:0)

您的字段看起来是DATE格式的 - 看看http://dev.mysql.com/doc/refman/5.1/en/datetime.html您希望将字段格式化为DATETIME

ALTER TABLE table_name MODIFY column_name DATETIME;