Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запросы sql server / 10 сообщений из 10, страница 1 из 1
16.04.2020, 17:33
    #39948140
uiowuyr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы sql server
Помогите пожалуйста
Мне нужно извлечь из представления (ViewZadanie9) количество сотрудников по каждому отделу, где минимальный шифр сотрудников меньше среднего. У меня сейчас выводится просто шифр по каждому отделу, а нужно количество

SELECT Отдел, min=MIN(Шифр) FROM ViewZadanie9
GROUP BY Отдел HAVING
MIN(Шифр)<(SELECT AVG(Шифр) FROM ViewZadanie9);

пыталась вот так

SELECT Отдел, COUNT(Шифр) FROM ViewZadanie9
GROUP BY Отдел HAVING
MIN(Шифр)<(SELECT AVG(Шифр) FROM ViewZadanie9);

но выводится общее количество сотрудников по этим отделам, а нужно количество человек, которые соответствуют условию
...
Рейтинг: 0 / 0
16.04.2020, 17:38
    #39948144
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы sql server
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select
  Отдел
  , count(*)
from (
  SELECT Отдел, сотрудник FROM ViewZadanie9
  GROUP BY Отдел, сотрудник 
  HAVING MIN(Шифр)<(SELECT AVG(Шифр) FROM ViewZadanie9);
) a
group by 
  Отдел
...
Рейтинг: 0 / 0
16.04.2020, 17:58
    #39948161
uiowuyr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы sql server
Гавриленко Сергей Алексеевич,
Спасибо!
...
Рейтинг: 0 / 0
20.04.2020, 14:12
    #39948941
uiowuyr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы sql server
Подскажите, как с помощью datediff() учесть полное количество лет, отдельно учесть и проанализировать дни и месяцы?

SELECT name_otdel From Otdel JOIN Sotrudnik ON Sotrudnik.id_otdel=Otdel.id_otdel
WHERE DATEDIFF(YEAR, data_empl, data_birth)>30
GROUP BY name_otdel HAVING COUNT(id_sotrudnik)>3
...
Рейтинг: 0 / 0
20.04.2020, 14:46
    #39948962
uiowuyr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы sql server
Подскажите пожалуйста как извлечь из созданного представления количество сотрудников по каждому отделу, где минимальный шифр сотрудников меньше среднего. Сейчас выводится общее количество сотрудников по отделу

SELECT Отдел, count(*) FROM View
GROUP BY Отдел
HAVING MIN(Шифр)<(SELECT AVG(Шифр) FROM View)
...
Рейтинг: 0 / 0
20.04.2020, 14:51
    #39948967
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы sql server
uiowuyr,

А так что не дает правильный результат?

Код: sql
1.
2.
3.
SELECT Отдел, count(*) FROM View
GROUP BY Отдел
HAVING MIN(Шифр)<AVG(Шифр)
...
Рейтинг: 0 / 0
20.04.2020, 14:51
    #39948968
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы sql server
Модератор: Хорош плодить темы - уже есть одна: https://www.sql.ru/forum/1324463/zaprosy-sql-server?hl=
...
Рейтинг: 0 / 0
20.04.2020, 14:52
    #39948969
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы sql server
Цель анализа не раскрыта.
...
Рейтинг: 0 / 0
20.04.2020, 15:05
    #39948976
uiowuyr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы sql server
Гавриленко Сергей Алексеевич, Мне нужно найти отделы, в которых есть больше трех сотрудников принято на работу в возрасте старше 30 лет, чтобы при этом учитывался полный возраст, включая месяц и день, а не только год
...
Рейтинг: 0 / 0
20.04.2020, 15:22
    #39948981
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросы sql server
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запросы sql server / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]