5
在表A中說,我們有應用程序的名稱和位置使用這些應用程序。如何在表中找到最大值
我正在尋找應用程序使用最多的位置。如果有關係,則應返回兩個地點。
表內容:
Application Location
A xy
A xy
A ab
B xy
B ab
B ab
預期輸出:
Application Max(Loc)
A xy
B ab
在表A中說,我們有應用程序的名稱和位置使用這些應用程序。如何在表中找到最大值
我正在尋找應用程序使用最多的位置。如果有關係,則應返回兩個地點。
表內容:
Application Location
A xy
A xy
A ab
B xy
B ab
B ab
預期輸出:
Application Max(Loc)
A xy
B ab
這可以通過使用聚合功能RANK
來解決。使用ROW_NUMBER
代替每個應用程序在綁定情況下只返回一行。
SQL Fiddle上的示例。
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;
完美並且優化。謝謝 – Raja
如果有領帶怎麼辦? – Lamak
返回的地點 – Raja