Mysql - 获取不同的记录

标签 mysql sql

我有以下 MySql 表 (user_actions),其中包含以下列: id, user_id, created_at, action_type

我想要一个 sql 查询,它将获取用户执行的最新操作,而不会重复操作。

例如: user_id 1 有 3 条记录,其 action_type 为“关注” 和 2 条具有 action_type“取消关注”

的记录

在这种情况下,我希望查询返回两条记录,一条是 action_type “follow”,另一条是“unfollow”

有什么想法吗?

最佳答案

您可以为此使用 SQL 的 group by 子句:

select user_id, action_type, max(created_at)
  from user_actions
 group by user_id, action_type

关于Mysql - 获取不同的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5395078/

相关文章:

具有累积值的 SQL 更新表

c# - NHibernate 树结构更新根问题

php - 一个我无法弄清楚的错误,当使用 stdclass 时,将值显示为 *RECURSION*

mysql - 如何 SQL 选择一对多关系并合并输出

Java MySQL 不连接到其他服务器

mysql - 不同表中的重复行以及与该 ID 相关的所有内容

mysql - 根据与另一个表的关系更新列

php - UTF-8贯穿始终

MySQL 全文搜索 一对多

php - 如何重写此 SQL 语句以接受数组变量?