Как увеличить целое число на основе группы в SQL

Вот мой запрос:

IF Object_id('tempdb..##delist') IS NOT NULL
  DROP TABLE ##delist
SELECT jl.jobid as 'JobID',
       jl.CustomObjectName as 'DEName',
       cols.name as 'ColumnName',
       null as 'ColumnNumber'
INTO   ##delist
FROM   ##joblist AS jl WITH (nolock)
       JOIN sys.tables tbls with (nolock) on tbls.name = jl.CustomObjectName
       JOIN sys.columns cols with (nolock) on cols.object_id = tbls.object_id
WHERE cols.name <> '_CustomObjectKey'

Вот мой набор результатов:

Как увеличить целое число на основе группы в SQL

В конечном итоге я ищу способ постепенной нумерации полей данных ColumnNumber ПО «DEName». Другими словами, для каждого ColumnName для каждого DEName я хочу, чтобы ColumnNumber начинался с 1 и переходил к тому количеству уникальных ColumnNames, которые есть для каждого DEName. Любые идеи?

не могли бы вы разместить ожидаемую нумерацию?

Radim Bača 01.05.2018 21:57

Обход взгляда ... blogs.sentryone.com/aaronbertrand/bad-habits-nolock‌ -everywhere Этот намек на запрет намного более зловещий, чем думает большинство людей.

Sean Lange 01.05.2018 22:01

Извините, при дальнейшей проверке я отметил плохой дубликат .. это лучший дубликат: stackoverflow.com/questions/2066178/…

Tab Alleman 01.05.2018 22:22
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
4
525
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

select . . .,
       row_number() over (partition by jl.CustomObjectName order by (select NULL)) as columnNumber

OP май также хочет добавить jl.jobid к PARTITION BY, если есть вероятность того, что jl.CustomObjectName может появиться в нескольких jl.jobid.

Shawn 01.05.2018 22:57

@Shawn. . . Это хороший момент. В какой-то момент нам действительно нужно доверять тому, что говорит OP: «В конечном итоге я ищу способ постепенно пронумеровать поля данных ColumnNumber ПО« DEName »».

Gordon Linoff 02.05.2018 00:06

Правда. Я больше комментировал для будущих читателей и хотел указать OP, что они, возможно, не осознавали, что нумерация может измениться, если jobID окажется столбцом основного раздела. :-)

Shawn 02.05.2018 04:55

Другие вопросы по теме