Mat*_*att 4 sql postgresql group-by
使用以下数据from a SELECT * FROM (SELECT...) AS foo:
ID Country Area
1 US 100
1 UK 200
2 AU 150
2 NZ 250
Run Code Online (Sandbox Code Playgroud)
你如何选择最热门的地区和国家ID?因此GROUP BY ID,MAX(DESC)但也包括County.
查询的结果将是:
1 UK 200
2 NZ 250
Run Code Online (Sandbox Code Playgroud)
SELECT DISTINCT ON (ID)
ID, Country, Area
FROM foo
ORDER BY ID, Area DESC NULLS LAST;
Run Code Online (Sandbox Code Playgroud)
特殊情况下更快的替代方案的详细说明和链接: