Регистры меток в SQL, связанные с предложением ORDER BY

#sql #sorting #labeling

Вопрос:

У меня есть набор кластеров в SQL, связанных со средним значением, подобным этому:

Скопление Ценность
Кластер 5 10
Кластер 3 8
Кластер 4 4
Кластер 2 2
Кластер 1 1

Название кластера не имеет никакого отношения к его значению, и мне нужно пометить их в соответствии с ним следующим образом:

Скопление Ценность Метка кластера
Кластер 5 10 1
Кластер 3 8 2
Кластер 4 4 3
Кластер 2 2 4
Кластер 1 1 5

Количество кластеров не ограничено; оно должно быть больше 1 и меньше 6. (1 < # кластеров

Спасибо

Комментарии:

1. Какие СУБД вы используете?

2. » меньше 5 «, и все равно у вас есть метка кластера 5… Что ожидается, если их будет меньше 2 или больше 5?

3. SQLite, но я могу использовать MySQL в любой версии

4. Существует предыдущая проверка количества кластеров; на данный момент невозможно иметь более 5 или менее 2 кластеров.

Ответ №1:

 select * , row_number() over (order by value desc) Clusterlabel
from table