MYSQL - выбор уникальных результатов из результатов

0

Я пытаюсь получить количество уникальных стран и студентов в этих странах из нашей базы данных. Я пробил себе путь в прошлом, но не помню, что я сделал.

Я знаю, что это было примерно так:

select COUNT(country) as T 
from (select country 
      from rs_user 
      where Email in (
                 select distinct(Email) 
                   from rs_active_course))

Я бы хотел, чтобы результат был примерно таким:

------------
| GB | 8 |
| ZA | 8 |
| США | 8 |
| RU | 8 |
| PN | 8 |
------------

Что я делаю неправильно?

  • 0
    И какой выход вы получаете?
  • 0
    Я ожидаю увидеть группу,
Показать ещё 1 комментарий
Теги:

2 ответа

1

Попробуйте выполнить запрос ниже, хотя я не знаю о вашей схеме, это должно работать, если вы отвечаете на запросы:

SELECT COUNT(country), country as T 
FROM (SELECT country 
      FROM rs_user 
      WHERE Email in (SELECT distinct(Email) 
                      FROM rs_active_course))
GROUP BY country
  • 0
    Я все еще получаю этот результат: каждая производная таблица должна иметь свой собственный псевдоним. Есть две таблицы. Курс rs_user и rs_active_course rs_active содержит только электронную почту, курс и термин в виде столбцов. И у rs_user есть вся другая информация. (это вещь Moodle). Все, что я хочу знать, это сколько студентов в каждой стране в таблице rs_user
  • 0
    Обновлено выше запроса
Показать ещё 2 комментария
0

Я делаю некоторые предположения о вашей структуре базы данных здесь, но, может быть, это может быть то, что вы ищете?

SELECT COUNT(DISTINCT r.Email), 
       r.country as T
FROM rs_user as r, rs_active_course as rc
WHERE r.Email = rc.Email
GROUP BY T
  • 0
    Спасибо. Похоже, что сделал это. Ты обалденный. Спасибо.
  • 0
    если пропустил @abr - сработало 100%, спасибо
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню