Raj*_*aja 5 sql sql-server sql-server-2012
在表A中,我们有应用程序名称和使用这些应用程序的位置.
我正在寻找最常用的应用程序的位置.如果是关系,则应返回两个位置.
表内容:
Application Location
A xy
A xy
A ab
B xy
B ab
B ab
Run Code Online (Sandbox Code Playgroud)
预期产量:
Application Max(Loc)
A xy
B ab
Run Code Online (Sandbox Code Playgroud)
这可以使用聚合函数来解决RANK.使用ROW_NUMBER,而不是返回每个应用程序只有一个行中关系的情况.
关于SQL小提琴的例子.
SELECT application, location
FROM (
SELECT application, location,
RANK() OVER ( PARTITION BY application ORDER BY COUNT(*) DESC ) AS rn
FROM t
GROUP BY application, location
) x
WHERE rn = 1;
Run Code Online (Sandbox Code Playgroud)