在SQL中选择2个最大值并进行连接

问题描述 投票:-5回答:1

我想回答这个问题:

编写一个SQL语句来显示酒店名称,房间类型以及连接到文本“NIGHTS”的夜晚数,以及如果房间无法访问或房间类型为双倍的可访问性。仅显示两个最大的夜晚。将计算的预订数量的别名更改为“NUM_OF_NIGHTS”。

这是我到目前为止编写的代码:

SELECT HOTELNAME, ROOMTYPE, 
       CONCAT(NIGHTS,' NIGHTS ',ACCESSIBILITY) AS NUM_OF_NIGHTS
  FROM HOTEL, 
       ROOM, 
       BOOKING
 WHERE ACCESSIBILITY='N' 
    OR ROOMTYPE='DOUBLE';

我想我必须在某个地方使用TOP功能来显示2个最多的夜晚,但我不知道在哪里将它集成到代码中。如果有人能在这里帮助我,我将不胜感激。

mysql sql greatest-n-per-group
1个回答
0
投票

试试这个,

SELECT
     HOTELNAME
     , ROOMTYPE
     , CONCAT(NIGHTS,' NIGHTS ',ACCESSIBILITY) AS NUM_OF_NIGHTS
FROM HOTEL, 
     ROOM, 
     BOOKING
WHERE ACCESSIBILITY='N' 
     OR ROOMTYPE='DOUBLE'
ORDER BY NIGHTS DESC
LIMIT 2
© www.soinside.com 2019 - 2024. All rights reserved.