Результаты SQL-соединения из GROUP BY и COUNT в 2 таблицах - PullRequest
0 голосов
/ 03 июня 2019

Таблица 1 (VID уникален)

VID|UID
99 | 11
56 | 12
52 | 11
24 | 13
14 | 13

Для подсчета записей по UID,

SELECT count(*),UID from t1 GROUP by UID
------------
count(*)|UID
       2| 11
       1| 12
       2| 13

Таблица 2 (которая является подмножеством из таблицы 1)

VID
99
52
14

Чтобы подсчитать записи по UID после сопоставления с таблицей 1,

SELECT count(*),uid from t1 WHERE vid in (SELECT vid from t2) group by uid
------------
count(*)|UID
       2|11
       1|13

Теперь я могу объединить эти 2 таблицы результатов вместе, основываясь на 2-м результате с 1 SQL-кодом, так что результаты :?

t1Count|t2Count|UID
      2|      2|11
      2|      1|13

Что если я захочу присоединиться к дополнительной таблице, содержащей информацию для UID:

UID|info
 11|....
 12|....
 13|....
 14|....
 15|....

, что приведет к следующим результатам:?

t1Count|t2Count|UID|info
      2|      2|11 |....
      2|      1|13 |....

1 Ответ

1 голос
/ 03 июня 2019

Попробуйте запрос ниже, чтобы получить желаемый результат.

select t1count,t2count,tab1.UID from (SELECT count(*) as t1count,UID from t1 GROUP by UID
    ) tab1
    inner join 
    (SELECT count(*) as t2Count,uid from t1 WHERE vid in (SELECT vid from t2) group by uid)  tab2
    on tab1.UID=tab2.UID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...