2013-12-20 3 views
0

Мне нужен стол, как показано ниже. У меня есть первые 2 столбца. Я хочу, чтобы столбец подсчета иметь инкрементный счетчик значений в имени столбцаsql count экземпляров поля - студия управления сервером microsoft sql

name marks count 
    a 23  1 
    b 43  2 
    c 54  3 
    d 64  4 
    a 12  2 
    b 3   2 
    a 4   3 
+3

@bluefeet И не забывайте, что он должен показать нам, что он пробовал в первую очередь. –

+2

Можете ли вы более подробно объяснить значения в столбце «count»? Что они представляют? –

ответ

1

SQL Server:

SELECT name, 
     marks, 
     Row_number() 
     OVER (
      PARTITION BY name 
      ORDER BY (SELECT 1)) AS [Count] 
FROM MyTable 

Строки не гарантированно прибыть в определенном порядке, если у вас есть какой-то способ заказывая, как результаты выше, о которых вы нам не говорили. Также нет способа узнать, какой заказ ROW_NUMBER будет назначен всем этим значениям с тем же именем - снова - если есть конкретный порядок, который вы хотите использовать, используйте вместо этого (SELECT 1) выше.

1
SELECT name, 
     marks, 
     count (id), 
FROM MyTable 
group by name, marks 
+0

есть способ сказать, что - «группа по» все столбцы, кроме count? У меня еще много столбцов – user2543622

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