gpt4 book ai didi

mysql - 获取组的最小值的记录

转载 作者:太空宇宙 更新时间:2023-11-03 10:37:29 25 4
gpt4 key购买 nike

我正在尝试做相反的事情 question

我需要从分组记录中获取最小值,因此,从链接的问题中获取相同的信息,来自

ID | Person | Group | Age
---
1 | Bob | 1 | 32
2 | Jill | 1 | 34
3 | Shawn | 1 | 42
4 | Jake | 2 | 29
5 | Tom | 2 | 28
6 | Paul | 2 | 36
7 | Laura | 2 | 39
8 | Julie | 2 | 28

期望的结果集:

1  | Bob    | 1     | 32    
5 | Tom | 2 | 28

我尝试以相反的条件(< 而不是 >)加入她自己的表,但它不起作用。

不允许重复,如果两个人的年龄相同,则必须返回 ID 最小的那个。

最佳答案

我会使用 where 和相关的子查询来做到这一点:

select p.*
from persons p
where p.age = (select min(p2.age) from persons p2 where p2.group = p.group);

或:

select p.*
from persons p
where p.age = (select p2.age
from persons p2
where p2.group = p.group
order by p2.age desc
limit 1
);

这很容易通过使用 id 扩展到多个键:

select p.*
from persons p
where p.id = (select p2.id
from persons p2
where p2.group = p.group
order by p2.age desc, id asc
limit 1
);

关于mysql - 获取组的最小值的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45438031/

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