gpt4 book ai didi

mysql - 如何比较两行并在一组多对中找到两行中较大的一个?

转载 作者:行者123 更新时间:2023-11-29 11:54:52 25 4
gpt4 key购买 nike

好吧,我有一个人表,每个人都属于一对夫妇。我需要运行一个查询,仅获取每对夫妇中较年长的成员。这是我的架构:

id BIGINT
name VARCHAR(32)
couple_id VARCHAR(255)
birthdate TIMESTAMP

我正在处理的查询:

SELECT * FROM person
GROUP BY couple_id
HAVING birthdate > ???

Couple_id 是一个随机字符串。目前输出如下所示:

1 John        AAA 1985/12/04
2 Jane AAA 1984/01/02
3 Christopher BBB 1991/07/07
4 Christina BBB 1992/08/20
5 Alex CCC 1995/02/07
6 Alexandra CCC 1996/11/12

我需要一个返回行 John、Christina 和 Alexandra 的查询。

最佳答案

一种方法是使用派生表。

SELECT p1.*
FROM person p1
join (select couple_id, max(birthdate) as mxbrthdt
from person group by couple_id) p2
on p2.couple_id = p1.couple_id and p1.birthdate = p2.mxbrthdt

关于mysql - 如何比较两行并在一组多对中找到两行中较大的一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33379086/

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