Как я могу присвоить номера строк таблице, которую я запрашиваю в MySQL?

#mysql #sql

#mysql #sql

Вопрос:

Это кажется таким простым, но я не смог найти какое-либо решение, которое работает для меня. Мой запрос выглядит следующим образом:

 SELECT DISTINCT bedType FROM room;
 

И результат показывает:

   bedType
  King Bed
  Queen Bed
 

И я пытаюсь присвоить только числовое значение, например:

   bedType
1 King Bed
2 Queen Bed
 

Я пытался использовать row_number() , но это не сработало. Есть ли простой способ сделать это?
Заранее благодарю вас!

 SELECT DISTINCT bedType, ROW_NUMBER() OVER (ORDER BY bedType) FROM room;
 

Это приводит к:

 bedType ROW_NUMBER() OVER (ORDER BY bedType)
King Bed    1
King Bed    2
King Bed    3
King Bed    4
King Bed    5 
... 
...
 

Ответ №1:

Вы можете использовать row_number() как:

 select row_number() over (order by bedtype), bedtype
from room
group by bedtype