У меня есть две таблицы (пользователи и сеанс).Таблица users содержит комбинацию пользователей (user1 и user2 вместе с их идентификаторами).Из таблицы сеансов я хочу сгруппировать по идентификатору сессии и посчитать, сколько раз пары в таблице пользователей встречаются в группе, сгруппированной по объектам из таблицы сеанса.
Например, давайте возьмем первую пару в таблице пользователей (ххх, ггг).Теперь эта пара существует в sessionID 1000, а также в 2000 году. Итак, я хочу, чтобы #sessions в таблице пользователей для этой пары имели значение 2 в качестве значения.Аналогично для всех пар.
Грубая идея, которую я имею, состоит в том, чтобы сгруппировать sessionID и посмотреть, существует ли пара из таблицы пользователей в этой группе, сгруппированной по объекту, если да, считать эту группу как 1 и суммировать по всем группам, которые содержат эту пару.И из 2 раз, когда произошла пара, сколько раз пользователь1 щелкнул (user1clicks) и сколько раз пользователь2 нажал (user2clicks).
Я не могу перевести это в запрос.Действительно изо всех сил, чтобы решить эту проблему ... Любая помощь высоко ценится!
Таблица пользователей:
| user1 | id1 | user2 | id2 |
-----------------------------
| xxx | 1 | yyy | 2 |
| xxx | 1 | zzz | 3 |
| yyy | 2 | zzz | 3 |
Таблица сеансов:
| user | id | sessionID | clicked |
--------------------------------------
| xxx | 1 | 1000 | yes |
| yyy | 2 | 1000 | no |
| xxx | 1 | 2000 | no |
| yyy | 2 | 2000 | no |
| xxx | 1 | 3000 | no |
| zzz | 1 | 3000 | yes |
Вывод:
| user1 | id1 | user2 | id2 | #sessions | user1clicks | user2clicks|
--------------------------------------------------------------------
| xxx | 1 | yyy | 2 | 2 | 1 | 0 |
| xxx | 1 | zzz | 3 | 1 | 1 | 0 |
| yyy | 2 | zzz | 3 | 0 | 0 | 0 |