Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Sybase ASA, ASE, IQ Новый топик    Ответить
 подсчет повторов с выводом результата в каждую строку  [new]
Kirill Isupov
Member

Откуда:
Сообщений: 4
Добрый день!

Помогите с проблемой.

Есть таблица

NameValue
AA1
AA1
AA2
BB1
CC1
CC1
CC2


Нужно добавит столбец count

NameValue count
AA12
AA12
AA21
BB11
CC12
CC12
CC21


Т.е. нужно узнать количество повторов в столбце Value и вывести его в каждой строке.
Как это сделать?

Спасибо.
25 фев 17, 13:33    [20242974]     Ответить | Цитировать Сообщить модератору
 Re: подсчет повторов с выводом результата в каждую строку  [new]
Kirill Isupov
Member

Откуда:
Сообщений: 4
Опыта в sql не богато, но вижу так.

1. Группируем по value подсчитывая количество в каждой группировке, получается:
Valuecount
A12
A21
B11
C12
C21


2. Затем по полю Value подвязать count к исходной таблице.


Вопрос, как это реализовать на SQL в один запрос?
25 фев 17, 15:10    [20243098]     Ответить | Цитировать Сообщить модератору
 Re: подсчет повторов с выводом результата в каждую строку  [new]
vologdabobr
Member

Откуда:
Сообщений: 28
Kirill Isupov, PARTITION OVER BY. Расписать подробнее, да?
25 фев 17, 18:54    [20243425]     Ответить | Цитировать Сообщить модератору
 Re: подсчет повторов с выводом результата в каждую строку  [new]
Kirill Isupov
Member

Откуда:
Сообщений: 4
Да )
26 фев 17, 09:11    [20244098]     Ответить | Цитировать Сообщить модератору
 Re: подсчет повторов с выводом результата в каждую строку  [new]
Kirill Isupov
Member

Откуда:
Сообщений: 4
Получилось через JOIN
Жду Вашего варианта через PARTITION OVER BY


SELECT Name,Value,Val_count
FROM Table1
JOIN ( SELECT 
       Value as Value_Id, 
       Count(Value) as Val_count
       FROM Table1
       GROUP BY Value_Id) AS counting
ON Value = counting.Value_Id
26 фев 17, 10:20    [20244147]     Ответить | Цитировать Сообщить модератору
 Re: подсчет повторов с выводом результата в каждую строку  [new]
White Owl
Member

Откуда:
Сообщений: 12049
http://www.sql.ru/forum/844750/kak-zadavat-vopros
26 фев 17, 22:15    [20245329]     Ответить | Цитировать Сообщить модератору
 Re: подсчет повторов с выводом результата в каждую строку  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 33424
Kirill Isupov,

ты с MySQL случайно не спутал?
27 фев 17, 07:09    [20245661]     Ответить | Цитировать Сообщить модератору
 Re: подсчет повторов с выводом результата в каждую строку  [new]
vologdabobr
Member

Откуда:
Сообщений: 28
Вот так примерно:
select *,
count(*) OVER ( PARTITION BY table1.value )
from table1;
27 фев 17, 08:53    [20245775]     Ответить | Цитировать Сообщить модератору
Все форумы / Sybase ASA, ASE, IQ Ответить