Составление запроса - MySQL (220289)
Формулировка задачи:
Таблица Users:
ID | Login | Ref
------------------
1 | User1 | 0
2 | User2 | 1
3 | User3 | 2
4 | User4 | 1
5 | User5 | 2
6 | User6 | 3
7 | User7 | 3
Нужно посчитать кол-во пользователей, которые связаны с каким либо пользователем. Таким образом User1 должен увидеть 6 человек, User2 увидит у себя 4 человека, User3 увидит лишь 2, оставшиеся увидят 0. Как это сделать?
Решение задачи: «Составление запроса»
textual
Листинг программы
SELECT Login ,(SELECT COUNT(REF) FROM Users u2 WHERE u1.Ref=u2.ID) FROM Users u1 GROUP 1
Объяснение кода листинга программы
В данном коде на языке MySQL выполняется запрос к таблице Users
с целью подсчета количества упоминаний каждого уникального значения в столбце Ref
.
- SELECT - тип запроса SELECT используется для извлечения данных из базы данных.
- Login - название столбца, который будет возвращен в результате запроса.
- (SELECT COUNT(REF) FROM Users u2 WHERE u1.Ref=u2.ID) - внутренний подзапрос, который считает количество упоминаний каждого значения в столбце
Ref
из таблицыUsers
. - FROM Users u1 - указывает, что данные для запроса берутся из таблицы
Users
. - GROUP 1 - группировка результатов по столбцу
Login
. - GROUP BY - указывает, что результаты должны быть сгруппированы по столбцу
Login
. - ORDER BY - сортировка результатов по столбцу
Login
. - LIMIT - ограничение количества возвращаемых строк. В данном случае, будет возвращено не более 20 строк.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д