aso*_*uzz 4 sql sql-server-2008
我有一个像这样的简单表
....................................
| hotelNo | roomType | totalBooking |
....................................
| 1 | single | 2 |
| 1 | family | 4 |
| 2 | single | 3 |
| 2 | family | 2 |
| 3 | single | 1 |
.....................................
Run Code Online (Sandbox Code Playgroud)
现在我想获得每个酒店最常预订的roomType,即以下结果
......................
| hotelNo | roomType |
......................
| 1 | family |
| 2 | single |
| 3 | single |
......................
Run Code Online (Sandbox Code Playgroud)
PS我使用子查询来获取第一个表
如果你想要最大值,你可以使用窗口函数:
select hotelNo, roomType
from (select t.*, row_number() over (partition by hotelNo order by totalBooking desc) as seqnum
from table t
) t
where seqnum = 1;
Run Code Online (Sandbox Code Playgroud)