Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2018, 10:13   #11
Leha2018
Пользователь
 
Регистрация: 08.10.2018
Сообщений: 16
По умолчанию

Мы сделали среднее количество, а теперь нам нужно вывести: номер заказа и максимум из среднего.
Leha2018 вне форума Ответить с цитированием
Старый 15.11.2018, 10:25   #12
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
максимум из среднего.
максимум из ОДНОГО числа (среднеГО) это есть само число
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Старый 15.11.2018, 10:51   #13
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Количество исполнителей по заказам и работам
Код:
SELECT Номер_Заказа,Код_Работы,COUNT(*) AS КоличествоИсполнителей
  FROM ВыполнениеРабот
  GROUP BY Номер_Заказа,Код_Работы
Среднее исполнителей по заказам
Код:
SELECT U.Номер_Заказа,AVG(U.КоличествоИсполнителей) AS СреднееИспонителей
  FROM 
    (SELECT Номер_Заказа,Код_Работы,COUNT(*) AS КоличествоИсполнителей
       FROM ВыполнениеРабот
       GROUP BY Номер_Заказа,Код_Работы) AS U
  GROUP BY U.Номер_Заказа
Максимум среднего
Код:
SELECT MAX(V.СреднееИспонителей) AS МаксСреднего
  FROM
    (SELECT U.Номер_Заказа,AVG(U.КоличествоИсполнителей) AS СреднееИспонителей
       FROM 
         (SELECT Номер_Заказа,Код_Работы,COUNT(*) AS КоличествоИсполнителей
            FROM ВыполнениеРабот
            GROUP BY Номер_Заказа,Код_Работы) AS U
       GROUP BY U.Номер_Заказа) AS V
Ну и то что хочешь
Код:
SELECT U.Номер_Заказа,AVG(U.КоличествоИсполнителей) AS СреднееИспонителей
  FROM 
    (SELECT Номер_Заказа,Код_Работы,COUNT(*) AS КоличествоИсполнителей
       FROM ВыполнениеРабот
       GROUP BY Номер_Заказа,Код_Работы) AS U
  GROUP BY U.Номер_Заказа
  HAVING AVG(U.КоличествоИсполнителей) = (
    SELECT MAX(V.СреднееИспонителей) AS МаксСреднего
      FROM
        (SELECT U.Номер_Заказа,AVG(U.КоличествоИсполнителей) AS СреднееИспонителей
           FROM 
             (SELECT Номер_Заказа,Код_Работы,COUNT(*) AS КоличествоИсполнителей
                FROM ВыполнениеРабот
                GROUP BY Номер_Заказа,Код_Работы) AS U
           GROUP BY U.Номер_Заказа) AS V)
Это в лоб, используй with покороче будет, может OVER еще удастся воткнуть )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 16.11.2018, 11:25   #14
Leha2018
Пользователь
 
Регистрация: 08.10.2018
Сообщений: 16
По умолчанию

Спасибо большое!
Leha2018 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны предложения. Вывести слова, содержащие максимальное количество различных букв. ggjgj Общие вопросы C/C++ 0 03.12.2016 19:02
Вывести группу которая выполняет максимальное количество проектов rudralis Помощь студентам 0 20.01.2016 09:48
В исходном тексте вывести на экран слово, содержащее максимальное количество символов(букв). Разделитель пробел dvpvitas Паскаль, Turbo Pascal, PascalABC.NET 6 17.06.2015 18:03
Подсчитать количество знаков и вывести максимальное значение mionyamo Общие вопросы C/C++ 0 10.12.2013 11:35
Дан массив целых чисел. Найти максимальное и минимальное значение. Вывести максимальное на 1-ое место, минимальное на последнее. Punk_Killer Паскаль, Turbo Pascal, PascalABC.NET 1 01.04.2013 09:38