Форум программистов, компьютерный форум, киберфорум
Oracle
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 24.05.2016
Сообщений: 22

Средний бал студентов

21.04.2017, 19:53. Показов 2079. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1.Вывести номер зачётки тех студентов, успеваемость которых выше средней
2.Отсортировать в порядке уменьшения средней оценки
3-й день башка в напряге, а всё никак, средняя оценка должна быть числоом естественно
SQL
1
2
3
4
5
6
7
 CREATE TABLE PROVERKA
 (
 Dd INT ,
  FIO VARCHAR2(200),
  DISP VARCHAR2(200),
  OCENKA VARCHAR2(200) CHECK (OCENKA IN ('ОТЛИЧНО','ХОРОШО','УДОВЛЕТ')),
  DATA_OCENKA DATE);
1502109Иванов Иван ИвановичБазы ДанныхОТЛИЧНО10.01.12
1502110Сидоров Иван ГавриловичБазы ДанныхХОРОШО10.01.12
1502110Сидоров Иван ГавриловичТПРОТЛИЧНО14.01.12
1502115Петров Алексей ИвановичМоделирование системУДОВЛЕТ18.01.12
1502109Иванов Иван ИвановичТПРОТЛИЧНО10.01.12
1502109Иванов Иван ИвановичМоделирование системХОРОШО10.01.12
1502115Петров Алексей ИвановичТПРОТЛИЧНО14.01.12
1502115Петров Алексей ИвановичБазы ДанныхОТЛИЧНО18.01.12
1502110Сидоров Иван ГавриловичМоделирование системОТЛИЧНО14.01.12
1502109Иванов Иван ИвановичФилософияОТЛИЧНО10.01.12
1502127Алиев Иван ИвановичМоделирование системХОРОШО10.01.12
1502101Мальцев Алексей ИвановичТПРОТЛИЧНО14.01.12
1502101Мальцев Алексей ИвановичБазы ДанныхОТЛИЧНО18.01.12
1502101Мальцев Алексей ИвановичМоделирование системОТЛИЧНО14.01.12
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.04.2017, 19:53
Ответы с готовыми решениями:

Вывести фамилии студентов, средний бал которых больше, чем общий средний балл
Вычислить средний балл всех студентов по всем предметам. Вывести фамилии студентов,средний бал которых больше,чем общий средний балл. ...

Посчитать средний бал группы и вывести список студентов, у которых средний балл выше среднего балла группы
Составить список студентов, в который входит 5 человек. Для каждого студента ввести фамилию, год рождения, курс, последние 6 оценок за...

Посчитать средний бал студентов по 4 предметам
1.Составить программу обработки сведений о студентах своей группы. Сведения представляются в виде таблицы, содержащей фамилии студентов и...

6
765 / 666 / 194
Регистрация: 24.11.2015
Сообщений: 2,163
22.04.2017, 15:26
А усреднять и выводить как? Попредметно, или по всем предметам в одном флаконе?

Добавлено через 2 минуты
Иными словами, нужно определение средней успеваемости для данной задачи
0
1 / 1 / 0
Регистрация: 24.05.2016
Сообщений: 22
22.04.2017, 15:30  [ТС]
как обычно средняя оценка считается, складываются оценки и делится на их количество, например(отлично+хорошо+отлично)/3, ну и т.д. Предметы значения не имеют, считать просто по оценкам
0
765 / 666 / 194
Регистрация: 24.11.2015
Сообщений: 2,163
22.04.2017, 17:45
Лучший ответ Сообщение было отмечено TheRowellCross как решение

Решение

SQL
1
2
3
4
5
6
7
8
9
10
11
12
SELECT dd, nocenka, nocenka_dd
FROM (
SELECT dd, nocenka, avg(nocenka) OVER ()  nocenka_all,
       avg(nocenka) OVER (partition BY dd)  nocenka_dd
FROM (
SELECT dd, CASE WHEN OCENKA = 'ОТЛИЧНО'  THEN 5
                WHEN OCENKA = 'ХОРОШО'   THEN 4
                WHEN OCENKA = 'УДОВЛЕТ'  THEN 3
           ELSE 0 END   nocenka
FROM PROVERKA
)) WHERE nocenka >= nocenka_dd
ORDER BY nocenka_dd DESC, dd, nocenka DESC
Поля nocenka и nocenka_dd нужны исключительно для сортировки, поэтому их можно убрать из самого внешнего селекта, если Oracle без них поймет сортировку (иногда не понимает, если полей нет в селекте).
Не понимаю, с какого перепугу "3-й день башка в напряге", задачка-то тривиальная

Добавлено через 10 минут
Цитата Сообщение от TheRowellCross Посмотреть сообщение
как обычно средняя оценка считается
Уже давно так не считается. Функция специальная есть. Не о том я спрашивал совершенно, а о том, надо считать средние по предметам или средние по всем имеющимся оценкам. Последний вариант (по всем оценкам, который я и реализовал) будет наиболее дурацким из всех возможных с логической точки зрения (какое отношение имеет к знаниям по физике учет оценок по философии), но на вкус и цвет товарищей нет
0
1 / 1 / 0
Регистрация: 24.05.2016
Сообщений: 22
22.04.2017, 18:23  [ТС]
Хорошо что считает, но без полей не выводит, а желательно вместо nocenka вывести фамилию, и сгруппировать по фамилии или номеру зачётки// Ну группировка через distinct по номеру зачётки, а вот заменить nocenka на fio как-то не получается. P.S я учу sql потихоньку

Добавлено через 31 минуту
В общем добавил ещё селект но без nocenka и всё норм. спасибо
0
765 / 666 / 194
Регистрация: 24.11.2015
Сообщений: 2,163
22.04.2017, 22:56
Я так понимаю, что Вы сделали что-то вроде такого
SQL
1
2
3
4
5
6
7
8
9
10
11
12
SELECT DISTINCT dd, fio, nocenka_dd
FROM (
SELECT dd, fio, avg(nocenka) OVER ()  nocenka_all,
       avg(nocenka) OVER (partition BY dd, fio)  nocenka_dd
FROM (
SELECT dd, CASE WHEN OCENKA = 'ОТЛИЧНО'  THEN 5
                WHEN OCENKA = 'ХОРОШО'   THEN 4
                WHEN OCENKA = 'УДОВЛЕТ'  THEN 3
           ELSE 0 END   nocenka
FROM PROVERKA
)) WHERE nocenka >= nocenka_dd
ORDER BY nocenka_dd DESC, dd
Нет вопросов, но если Вы хотели именно этого, то так и надо было писать в постановке задачи. Кроме того, чисто интуитивно, я бы считал средние по отдельным предметам и выводил тех, кто превысил среднее по предмету. Это более информативно, что ли, в отличие от средней температуры по больнице, которая считается в этом селекте. Нельзя же в среднюю температуру по больнице включать температуру трупов из морга.
0
1 / 1 / 0
Регистрация: 24.05.2016
Сообщений: 22
22.04.2017, 23:00  [ТС]
Ну мне дали таблицу и задание, придумывал не я
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.04.2017, 23:00
Помогаю со студенческими работами здесь

Вывести средний бал всех студентов
Помогите пожалуйста с задачей. Создать массив структур, содержащий информацию о студентах: ФИО, номер группы, оценки за последнюю...

Рассчитать средний бал каждого ученика и средний бал по каждому предмету
Подскажите как решать плз! 1)Написать программу создающую на диске файл следующей структуры: Фамилия 1 (например Сидоров) оценки...

Вывести студентов средний бал которых больше за 4
Здраствуйте, нужен вас совет по ооп, переделываю программу в которой нужно было вывести студентов средний бал которых больше за 4: Вот...

Найти студентов 2-го курса, которые имеют средний бал 4
Создать программу, которая создает базу данных согласно варианту. Группа: N группы, N курса, фамилия, имя, отчество, дата рождения,...

Вывести фамилии студентов средний бал которых больше 4
Дан файл содержащий фвмилии и оценки студентов по трьом предматам. Вывести фамилии студентов средний бал которых больше 4. Помогите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru