0
我面臨一個特別困難(對於我的技能水平)選擇查詢。 我有一些數據庫中的數據是這樣的: 4列(maleName/femaleName/size/id)。 列數據或多或少都是不言自明的。我有一個男性的名字,一個女性的名字大小和一個ID(只得到值1或2)相應的每列。唯一的問題是男性和女性的名字(作爲夫妻)出現超過1次。postgreSQL最大選擇取決於組
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...
我需要的是一個選擇查詢將返回每對夫婦的最大(大小)和它所屬的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結果。它可能需要一些調整或全部重寫。任何幫助將不勝感激!在此先感謝你們!
親切的問候。
非常感謝。不幸的是,我嘗試了你給我的東西,儘管它偏袒一些人(分組夫婦等),但它沒有過濾掉那些尺碼較小的夫婦。 – 2013-05-10 21:41:22
@GeorgeElementSotiriou。 。 。你的查詢中有'where seqnum = 1'嗎?你的分區子句只包含兩個名字嗎? – 2013-05-10 21:48:14
Tha對兩者的回答都是肯定的。此外,我已經更正了幾分鐘前編輯過的「mytable t」部分,因爲我發現它應該是我自己的。仍然劃分,我有我的相同的「夫婦」一個接一個地下降的尺寸,但它沒有排除最小號碼的dublicate夫婦。對不起,讓你的生活辛苦......! :( – 2013-05-10 21:53:30