sql count (*) запрос на результаты другого запроса, выполняющего несколько результатов - PullRequest
0 голосов
/ 08 мая 2018

как выполнить запрос sql count (*) для результатов другого запроса, выполняющего несколько результатов?

У меня есть 3 таблицы: -

  1. таблица user_subscribe, где у меня есть 'user_id' и другие столбцы.

  2. таблица пользователей, где у нас есть столбцы 'user_id' и 'country_id', где user_id связан с таблицей user_subscribe, а country_id связан с таблицей 'country'.

    1. таблица стран со столбцом 'country_id'.

Мне нужно получить общее количество user_subscribe, основанное на пользователях (user_id), которые принадлежат к той же стране. Помощь очень ценится, так как я застрял в этой проблеме за последние 7 дней.

Ответы [ 2 ]

0 голосов
/ 08 мая 2018

Попробуйте это решение:

SELECT C.CountryName,Count(u.UserId) AS UserCount FROM  User_Subscribe AS us 
LEFT JOIN User AS u ON us.UserId = u.UserId
LEFT JOIN Country AS c ON u.CountryId = c.CountryId
WHERE c.CountryId = 3
GROUP BY c.CountryName
0 голосов
/ 08 мая 2018
SELECT COUNT(US.user_id) as country_user_subscribed
FROM user_subscribe as US
LEFT JOIN users as U ON user.id=US.user_id
LEFT JOIN countries as C on C.id=U.country_id
GROUP BY C.country_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...