假设我有两个表,一个用户表和一个日志表
用户表包含以下列:ID,名称
日志表具有以下列:id,user_id(User.id上的外键),last_updated_date,first_created_date。一个用户可以有很多日志,但是对我们来说最重要的用户日志是该用户最早的first_created_date日期的日志。
有人可以帮我制定一个查询,以便它返回具有属于该用户的日志的first_created_date最早的用户ID的100个列表。
查看下表,应返回的user_ids为1和2。由于user_id 1具有最早的日志是2019年1月1日。而且由于user_id 2具有第二最早的日志(在其余用户中)是2月。 2019年1月1日。
User Table
+----+-------+
| id | name |
+----+-------+
| 1 | bob |
+----+-------+
| 2 | carl |
+----+-------+
| 3 | sandy |
+----+-------+
Log Table
+----+---------+-------------------+--------------------+
| id | user_id | last_updated_date | first_created_date |
+----+---------+-------------------+--------------------+
| 1 | 1 | not important | Jan 1, 2019 |
| 2 | 1 | not important | Jan 2, 2019 |
| 3 | 1 | not important | Dec 3, 2019 |
| 4 | 2 | not important | Feb 2, 2019 |
| 5 | 2 | not important | Dec 3, 2019 |
| 6 | 3 | not important | Mar 2, 2019 |
| 7 | 3 | not important | Dec 3, 2019 |
+----+---------+-------------------+--------------------+
最佳答案
您可以汇总并使用order by
和limit
:
select user_id
from log
group by user_id
order by min(first_created_date)
limit 2 -- or limit 100?
关于mysql - SQL-在另一列中发现重复值时在另一列上进行过滤,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59167303/