2017-07-03 114 views
0

我堅持這一個。 我想按每個組的最大值排序一個表。 (但返回所有行)。Sqlite:ORDER BY每組的最大值,但返回所有行

因爲它總是用一個例子更容易:

Team | Player | Score 
--- 
red | Bob | 32 
red | Jill | 34 
red | Shawn| 42 
blue | Jake | 29 
blue | Paul | 26 
blue | Mike | 35 

期望的結果集:

blue | Jake | 35 
blue | Paul | 35 
blue | Mike | 35 
red | Bob | 42 
red | Jill | 42 
red | Shawn| 42 
+0

所以我們展示您正在試圖讓工作 – RiggsFolly

+1

這是MySQL或SQLite的查詢? – RiggsFolly

回答

2

您可以使用相關子查詢:

select t.team, t.player, 
     (select max(t2.score) from t t2 where t2.team = t.team) as max_score 
from t; 

你可以做些什麼類似於group byjoin

2

你可以使用在選擇表內連接

select t.team, a.player, t.score 
    from my_table 
    inner join (
     select team, max(score) 
     from my_table 
     group by team 
) t on t.team = a.team 
    order by t.team 
+0

@SloanThrasher。我正在看預期的結果..我也需要玩家的名字..不僅球隊和最大...... – scaisEdge