Sql 从标准化生活/工作关系表中计算出前5名居住地点

Sql 从标准化生活/工作关系表中计算出前5名居住地点,sql,Sql,我有一个三列表,列标题是:工作地点、居住地点和通勤人数地理编码、地理编码、数字。对于每个工作地点,我想知道最常见的5个居住地点以及通勤人数。有没有关于如何在SQL中实现这一点的想法 不确定您使用的是哪种RDBMS,但这应该适用于SQL Server: with MyCTE AS ( select *, RANK() OVER (PARTITION BY placeOfWork ORDER BY NumberOfCommuters DESC) AS Rank from Places

我有一个三列表,列标题是:工作地点、居住地点和通勤人数地理编码、地理编码、数字。对于每个工作地点,我想知道最常见的5个居住地点以及通勤人数。有没有关于如何在SQL中实现这一点的想法

不确定您使用的是哪种RDBMS,但这应该适用于SQL Server:

with MyCTE AS
(
    select *, RANK() OVER (PARTITION BY placeOfWork ORDER BY NumberOfCommuters DESC) AS Rank
    from PlacesOfWorkWork
)
select * from MyCTE where Rank <= 5