我需要一個查詢來選擇表中的行,以便從給定的列中搜索來自其他兩列的每個唯一對的最大值。考慮這個非常簡單的示例表格:SQLite SQL查詢 - 3級/嵌套在同一個表上?
a b c d
1 1 0 1
1 1 2 2
1 2 1 1
1 2 3 2
2 1 7 5
2 1 6 4
唯一對由列a和b形成。我們在d列中尋找最大值。結果返回相應的列a,b和c。因此,對於上面的樣本數據,返回的結果應該是這樣的:
a b c
1 1 2
1 2 3
2 1 7
我已經嘗試嵌套查詢,聯接和我還沒有達到我的目標。我還進行了Google搜索,尋找討論並諮詢了幾本數據庫書籍,但無濟於事。我看到很多涉及多個表的嵌套查詢的示例,但沒有涉及同一個表的嵌套查詢。
看來問題需要三遍(嵌套): 1)獲得一組唯一一個& b對 2)該組中的每一行的行求d的最大值:返回一組的,b和d行 3)對於每個三元組的a,b和d值,查詢返回a,b和c列。
非常感謝幫助。
create table T(a int,b int,c int,d int); (1,1,0,1),(1,1,2,2),(1,2,1,1), (1,2,3,2),(2,1 ,7,5),(2,1,6,4); –