[2
有效地检索了分组的SQL数据中的顶级记录
人
年龄 | ||
---|---|---|
32 | jill | |
34 | Shawn | |
42 | jake | |
29 | Paul | |
36 | laura | |
39 | objective: |
This query uses a LEFT JOIN
to compare each person (SELECT o.*
FROM Persons o
LEFT JOIN Persons b ON o.Group = b.Group AND (o.Age b.Person))
WHERE b.Person IS NULL;
). 子句的行滤波器的
o.Age : o is younger than
b (meaning
o is not the oldest).
中滤出了
中的任何行,仅保留每个组中的老人(或在每个组中,如果有一个tie,则首先是字母)。
[2
对高级SQL技术和潜在陷阱有更全面的了解,请参阅“ SQL AntiPatterns卷1:避免数据库编程的陷阱。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3