Я использую MySQL.
. Из этих двух таблиц мне нужно выбрать все комнаты, в которых имеется наибольшее количество медсестер на одну кровать. Это может быть только одна комната или более одной, если в ie.
Распределение таблиц
+-------+---------+
| nurse | room |
+-------+---------+
|911923 | 1 |
|916923 | 1 |
|931923 | 1 |
|931926 | 1 |
|931927 | 4 |
|931928 | 4 |
+-------+---------+
Столовая
+--------+--------+
| number | size |
+--------+--------+
| 1 | 2 |
| 4 | 1 |
+-------+---------+
Я пытаюсь выбрать строку (и) с наивысшим рангом, но предел 1 ограничивает только одно значение, в этом примере обе комнаты имеют одинаковый ранг. Как выбрать все строки с наивысшим рангом, если несколько строк имеют одинаковый ранг?
SELECT ROOM.number,
(SELECT COUNT(*) FROM ALLOCATION
WHERE ALLOCATION.room = ROOM.number) / ROOM.size AS nurses_per_bed,
DENSE_RANK() OVER (ORDER BY nurses_per_bed DESC) AS SEQ
FROM ROOM
LIMIT 1