mysql - 查找组的所有 USER_ID 的最大日期记录

标签 mysql

我有一个名为 emp_attendance 的表,其中有两列 log_in_dateuser_id

我只想获取所有给定 user_id(超过 100 个 user_id)的所有最大(最新)log_in 日期。意思是,我只想知道特定用户登录的最晚(最大)日期。

到目前为止我尝试过的是这样的:

SELECT user_id,log_in_date FROM emp_attendance where log_in_date = (select max(log_in_date) from emp_attendance where user_id in (28,112,
160,244,276,284);

但是我得到的所有 user_id 的 log_in_date 都是一样的。我哪里错了?

注意:给出的USER_ID太多了,我这里只提供了6个USER_ID作为示例。

最佳答案

它应该非常简单:

SELECT user_id,max(log_in_date) FROM emp_attendance GROUP BY user_id;

如果您只想为您的用户 ID 的子集使用它:

SELECT user_id,max(log_in_date) FROM emp_attendance WHERE
       user_id in (28,112,160,244,276,284) GROUP BY user_id;

关于mysql - 查找组的所有 USER_ID 的最大日期记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55648200/

相关文章:

java - 部署后未找到 jdbc mysql 驱动程序

mysql - Flask 使用 MySQL 将数据插入数据库

c# - 创建数据库和表

mysql - 用于 mysql 的开源 ER 图表工具

mysql - Doctrine2 Symfony2 自定义函数解析器

mysql - 试图更正 mysql 查询

带有子查询的mysql删除查询不起作用

PHP AJAX 加载更多

php - 使用两个 foreach 循环将一个表的结果插入另一个表

c# - 这个 Dapper 查询总是返回 null