我正面临一个特别困难的(就我的技能水平而言)选择查询。我在数据库中有一些数据,如下所示:4 列(maleName/femaleName/size/id)。列数据或多或少是不言自明的。我有一个男性的名字,一个女性的名字,一个大小和一个 ID(它只得到值 1 或 2),对应于每一列。唯一的问题是男性和女性的名字(作为夫妻)出现超过 1 次。
Database example.
# | MaleName | FemaleName | Size | ID
1 - John - Mary - 9 - 1
2 - Nick - Stacey - 6 - 1
3 - Mike - Rachel - 2 - 1
4 - John - Mary - 3 - 2
5 - Mike - Rachel - 20 - 2
6 - Nick - Stacey - 13 - 2
etc...
我需要的是一个 Select 查询,它将返回每对夫妇的最大(大小)及其所属的 ID...
Result example.
# | MaleName | FemaleName | Size | ID
1 - John - Mary - 9 - 1
2 - Nick - Stacey - 13 - 2
3 - Mike - Rachel - 20 - 2
到目前为止我所做的是:
select a.Mname,a.Fname,a.size
from mytable a , mytable b
where a.id=b.id and
a.size in (select max(a.size) from mytable a , mytable b where a.id=b.id)
group by a.Mname, a.Fname, a.size;
我不知道我是接近还是完全错误。不过,这会返回 1 个结果。它可能需要一些调整或完全重写。任何帮助将不胜感激!提前谢谢各位!
亲切的问候。