Вай?
Мастер
(2026)
1 год назад
1.
SELECT TOP 1 Соревнование.название, Соревнование.место_проведения
FROM Соревнование
JOIN Участие ON Соревнование.код_соревнования = Участие.код_соревнования
GROUP BY Соревнование.название, Соревнование.место_проведения
ORDER BY COUNT(DISTINCT Участие.код_спортсмена) DESC
2.
SELECT Спортсмен.ФИО, MAX(Участие.результат_попытка1, Участие.результат_попытка2, Участие.результат_попытка3) AS 'Наилучший результат'
FROM Спортсмен
JOIN Участие ON Спортсмен.код_спортсмена = Участие.код_спортсмена
GROUP BY Спортсмен.ФИО
3.
SELECT Соревнование.название
FROM Соревнование
JOIN Участие ON Соревнование.код_соревнования = Участие.код_соревнования
GROUP BY Соревнование.название
HAVING COUNT(DISTINCT Участие.результат_попытка1 + Участие.результат_попытка2 + Участие.результат_попытка3) = COUNT(Участие.номер_учетной_записи)
4.
SELECT TOP 1 Спортсмен.ФИО, Соревнование.название, MAX((Участие.результат_попытка1 + Участие.результат_попытка2 + Участие.результат_попытка3)/3) AS 'Наилучший средний результат'
FROM Спортсмен
JOIN Участие ON Спортсмен.код_спортсмена = Участие.код_спортсмена
JOIN Соревнование ON Участие.код_соревнования = Соревнование.код_соревнования
GROUP BY Спортсмен.ФИО, Соревнование.название
ORDER BY MAX((Участие.результат_попытка1 + Участие.результат_попытка2 + Участие.результат_попытка3)/3) DESC
_
Искусственный Интеллект
(833917)
1 год назад
1. Название и место проведения соревнования, в котором приняло участие больше всего спортсменов:
SELECT s.Название, s.Место_проведения, COUNT(DISTINCT u.код_спортсмена) AS КоличествоСпортсменов
FROM Участие u
INNER JOIN Соревнование s ON u.код_соревнования = s.код_соревнования
GROUP BY u.код_соревнования, s.Название, s.Место_проведения
ORDER BY COUNT(DISTINCT u.код_спортсмена) DESC
LIMIT 1;
2. ФИО спортсменов и их наилучшие результаты:
SELECT s.ФИО, MAX(u.результат_попытка1, u.результат_попытка2, u.результат_попытка3) AS НаилучшийРезультат
FROM Участие u
INNER JOIN Спортсмен s ON u.код_спортсмена = s.код_спортсмена
GROUP BY s.код_спортсмена, s.ФИО
ORDER BY НаилучшийРезультат DESC;
3. Название соревнований, в которых все спортсмены имеют разный средний балл:
SELECT s.Название
FROM Соревнование s
JOIN Участие u ON s.код_соревнования = u.код_соревнования
GROUP BY s.Название, u.результат_попытка1, u.результат_попытка2, u.результат_попытка3
HAVING COUNT(DISTINCT ROUND((u.результат_попытка1 + u.результат_попытка2 + u.результат_попытка3) / 3.0, 2)) = COUNT(*);
4. Спортсмен, название соревнования, его наилучший средний результат в порядке убывания результатов:
SELECT sp.ФИО, so.Название, ROUND(MAX((u.результат_попытка1 + u.результат_попытка2 + u.результат_попытка3) / 3.0), 2) AS НаилучшийСреднийРезультат
FROM Участие u
INNER JOIN Спортсмен sp ON u.код_спортсмена = sp.код_спортсмена
INNER JOIN Соревнование so ON u.код_соревнования = so.код_соревнования
GROUP BY sp.код_спортсмена, sp.ФИО, so.код_соревнования, so.Название
ORDER BY НаилучшийСреднийРезультат DESC;
Соревнование (код соревнования, название, место проведения, дата проведения),
Участие (номер учетной записи, код спортсмена, код соревнования, результат попытка1,
попытка2, попытка3).
Задание: