У меня есть следующая таблица с данными: (?)Поворотная без известного имени столбца
A B
=== ===
M 2
M 3
M 5
N 5
N 2
O 6
P 13
P 7
P 9
P 11
P 3
Теперь мне нужен PIVOT запрос к:
- группы по колонке А.
- Сортировать по колонка B.
- Возьмите наименьшие 3 значения из столбца B.
- Поместите эти значения в новые столбцы B1, B2, B3
Так что результат будет:
A B1 B2 B3
=== ==== ==== ====
M 2 3 5
N 2 5 null
O 6 null null
P 3 7 9
До сих пор я пытался создавать запросы с TOP, GROUP BY, PIVOT. Я думаю, что лучший способ пойти с PIVOT, но поскольку у меня нет значения, которое я могу использовать в качестве имени столбца, я застрял. Кроме того, сделать выбор из 3-х из этих значений также довольно сложно.
* EDIT *
Их уникальное ограничение на колонках А и В, так что значения для B всегда уникальны для того же А.
В какой базе данных вы используете? Oracle или SQL Server? –
Я использую Oracle. Я удалил неправильный тег. –
@MartinMulder Какую версию Oracle вы используете? – Taryn