group+by取时间最新
时间: 2023-12-22 10:29:34 浏览: 110
基于mysql实现group by取各分组最新一条数据
5星 · 资源好评率100%
根据您提供的引用内容,有两种方法可以实现group by取时间最新的需求:
方法一:使用子查询和排序
```sql
SELECT t1.id, t1.time
FROM your_table t1
WHERE t1.time = (
SELECT MAX(t2.time)
FROM your_table t2
WHERE t2.id = t1.id
)
```
这个方法使用了子查询和排序,首先在子查询中找到每个id对应的最新时间,然后在外部查询中根据这个最新时间筛选出对应的记录。
方法二:使用窗口函数
```sql
SELECT id, time
FROM (
SELECT id, time, ROW_NUMBER() OVER (PARTITION BY id ORDER BY time DESC) AS rn
FROM your_table
) t
WHERE rn = 1
```
这个方法使用了窗口函数ROW_NUMBER(),它会为每个id分组的记录按照时间降序进行编号,然后我们只需要选择编号为1的记录,即最新时间的记录。
阅读全文