выберите отдельное и автоинкрементное поле в запросе выбора

#sql #sql-server

#sql #sql-сервер

Вопрос:

У меня есть табличный продукт с

 ProductNo ProductDetail UniqueiD(Primarykey)
L1234      ProductA        1
L1234      ProductB        2
L1234      ProductC        3
M1234      ProductD        4
M1234      ProductE        5
 

Итак, мне нужен запрос выбора, который будет отображать отдельный номер продукта с идентификаторами для отображения в p-listbox.
скажем

 Name  code
L1234  1
M1234  2
 

Как мне этого добиться?
Спасибо

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

1. «номер продукта с идентификаторами» Что это значит? А что такое исходный «код»? Обычно в раскрывающемся списке может отображаться строка (например, имя, код или номер продукта), но требуется некоторое уникальное значение, специально связанное с выбранным элементом (или элементами). Ваши «коды», похоже, не имеют никакого отношения к значениям ни в одной таблице.

Ответ №1:

Один из методов:

 select distinct name, dense_rank() over (order by name)
from product;
 

Тем не менее, я бы, вероятно, использовал group by :

 select name, row_number() over (order by name) as code
from product
group by name;