抓住每组中最高值的行?

soo*_*ise 3 sql greatest-n-per-group

我的数据看起来像这样:

Table
Group: "A" , Color: "Blue", Count: "400"
Group: "A" , Color: "Green", Count: "3"
Group: "A" , Color: "Yellow", Count: "6"
Group: "A" , Color: "Red", Count: "1"
Group: "B" , Color: "Purple", Count: "243"
Group: "B" , Color: "Green", Count: "2"
Group: "B" , Color: "Yellow", Count: "7"
Run Code Online (Sandbox Code Playgroud)

如何查询此数据以获得最受欢迎(按计数)颜色的每个组.所以结果看起来像这样:

Result
Group: "A", Color: "Blue"
Group: "B", Color: "Purple"
Run Code Online (Sandbox Code Playgroud)

JNK*_*JNK 6

SELECT Group, Color
FROM MyTable t
INNER JOIN (SELECT Group, Max(CAST(Count as int)) as Ct
            FROM MyTable
            GROUP BY Group) Sub
   ON sub.group = t.group
   AND sub.ct = t.count
Run Code Online (Sandbox Code Playgroud)

顺便说一句,不要命名一个字段GROUP,或COUNT.它们是关键词,会导致头痛和心碎.