Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как посчитать количество встречающихся парных строк в группах? / 7 сообщений из 7, страница 1 из 1
09.06.2018, 16:39
    #39658985
TJ001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как посчитать количество встречающихся парных строк в группах?
Есть таблица
ЗначениеГруппа1А2А3А4А1Б3Б4Б2В3В4В

Парные строки со значением 1,3 из группы А встречаются только в группе Б, т.е. комбинация встречается 2 раза во всей таблице
Парные строки со значением 2,3 из группы А встречаются только в группе В, т.е. 2 раза
Парные строки со значением 3,4 из группы А встречаются в группах Б и В, т.е. 3 раза

Поэтому результат должен быть таким
Значение 1Значение 2Количество131231342

Но как такое сделать что-то пока не соображу
В последствии понадобится выбирать топ Х самых частых комбинаций

Тестовая таблица, если нужно
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
declare @t1 table (val int, grp char)

insert into @t1 values 
 (1,'A')
,(2,'A')
,(3,'A')
,(4,'A')
,(1,'B')
,(3,'B')
,(4,'B')
,(2,'C')
,(3,'C')
,(4,'C')

...
Рейтинг: 0 / 0
09.06.2018, 17:01
    #39659015
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как посчитать количество встречающихся парных строк в группах?
TJ001,

Если не знаете с чего начать, соедините таблицу саму с собой по равенству Grp и первому val меньше второго val
и группируйте ваши пары как вам заблагорассудится
...
Рейтинг: 0 / 0
09.06.2018, 19:13
    #39659071
Дедушка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как посчитать количество встречающихся парных строк в группах?
TJ001,

и что вы называете "парными"?
почему, например 1,4 из А не парные?
...
Рейтинг: 0 / 0
09.06.2018, 20:50
    #39659104
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как посчитать количество встречающихся парных строк в группах?
Код: sql
1.
2.
3.
4.
5.
6.
select t1.val, t2.val, count(*) cnt
from test t1, test t2
where t1.val < t2.val
and t1.grp = t2.grp
group by t1.val, t2.val
having count(*) > 1


fiddle
...
Рейтинг: 0 / 0
13.06.2018, 08:58
    #39660019
TJ001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как посчитать количество встречающихся парных строк в группах?
Посетитель, Akina
Благодарю за ответы.

Дедушка, разве непонятно, что имелось ввиду, и нужно было абсолютно все варианты перечислить? Или Вы самоутверждаетесь за счет тыканья носом в недочеты? Да, полезное занятие, дает +10 к ЧСВ. Поздравляю с повышением.
...
Рейтинг: 0 / 0
13.06.2018, 09:06
    #39660024
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как посчитать количество встречающихся парных строк в группах?
TJ001,

вообще-то, это Вы пришли сюда с вопросом, не сумев его внятно сформулировать.
Вам указали на противорчие постановки и ответа, потому что от этого может зависеть решение задачи.

а на личности перешли именно Вы.
так что именно Вам стоит подумать над своим поведением, а не учить других решать Ваши же проблемы.
...
Рейтинг: 0 / 0
13.06.2018, 09:55
    #39660057
TJ001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как посчитать количество встречающихся парных строк в группах?
Посетитель,

Может я и не прав
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как посчитать количество встречающихся парных строк в группах? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]