mysql-echo结果按名称和最新结果分组

  • 本文关键字:结果 最新 mysql-echo 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'

问题是我正在根据日期降序排列我的结果,所以这将以日期降序显示最近的变化。

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

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

下午1点的密码更改会得到回应,而不是我下午2点的更改?

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

希望有人能帮忙。感谢

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

ALTER TABLE表名MODIFY列名DATETIME;

最新更新