gpt4 book ai didi

mysql - 检索每个用户的最新条目

转载 作者:可可西里 更新时间:2023-11-01 07:49:48 24 4
gpt4 key购买 nike

如果我有一个具有以下结构和数据的表:

id | user_id | created_at
-------------------------
1 | 7 | 0091942
2 | 3 | 0000014
3 | 6 | 0000890
4 | 6 | 0029249
5 | 7 | 0000049
6 | 3 | 0005440
7 | 9 | 0010108

我将使用什么查询来获得以下结果(后面有解释):

id | user_id | created_at
-------------------------
1 | 7 | 0091942
6 | 3 | 0005440
4 | 6 | 0029249
7 | 9 | 0010108

如你所见:

  • 每个 user_id 只返回一行。
  • 具有最高 created_at 的行是返回的行。

有没有办法使用子查询来完成这个任务?此过程所经过的关系代数术语中是否有名称?

最佳答案

查询称为 groupwise maximum ,它(至少在 MySQL 中)可以用子查询来实现。例如:

SELECT my_table.* FROM my_table NATURAL JOIN (
SELECT user_id, MAX(created_at) created_at
FROM my_table
GROUP BY user_id
) t

查看 sqlfiddle .

关于mysql - 检索每个用户的最新条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17034960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com