2015-10-28 3 views
1

У меня есть таблица с кучей дат в случайном порядке. Как я могу добавить столбец, который будет последовательно указывать даты в порядке убывания.Добавить столбец для записи записей по дате

ORIGINAL ТАБЛИЦА

ID DATE 
1 10/08/15 
2 10/06/15 
3 10/11/15 
4 10/07/15 

ОБНОВЛЕНО ТАБЛИЦА

ID DATE  ORDER 
1 10/08/15 2 
2 10/06/15 4 
3 10/11/15 1 
4 10/07/15 3 
+0

Почему вам это нужно? Недостаточно ли вернуть данные в 'ORDER BY DATE'? –

+0

Обычно вы просто запускаете запрос, который делает это: 'SELECT * FROM table ORDER BY DATE' – Bxx

+0

@TrippKinetics Есть много случаев, когда вам нужна строка_ид для присоединения к другой таблице –

ответ

2

С оконными функциями:

select *, row_number() over(order by date desc) as [order] from tablename 
+0

Как я могу взять этот временно созданный столбец и навсегда добавить его в качестве столбца этой таблицы? – wellmannered

+0

Вы добавляете столбец вручную, а затем обновляете его с помощью инструкции:;; cc as (select *, row_number() over (упорядочить по дате desc) как [порядок] из tablename) update cte set newcolumn = [order] ' –

Смежные вопросы