Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Среднее значение за 2 и 3 картал со сравнением / 4 сообщений из 4, страница 1 из 1
01.07.2019, 15:41
    #39832361
RuRed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Среднее значение за 2 и 3 картал со сравнением
Уважаемые коллеги! Столкнулся с трудностью

Есть таблица shoot

CREATE TABLE SHOOTING (
S_ID INT NOT NULL PRIMARY KEY,
S_time DATETIME NOT NULL,
People INT NOT NULL,--ID человека
point INT NOT NULL);


В записи имеются данные о том кто и сколько заработал очков.
Стрельбы проходили 6 месяцев подряд. Необходимо сравнить среднее значение за второй квартал и среднее значение за 3 квартал

Пример ожидаемого результата:
People AVG_2квартал AVG_3квартал
Белов 13 21
Бухаров 16 25
Грибов 19 28

Получается только вывести отдельно за 2-й квартал или за 3 квартал но вместе все никак

--AVG за второй квартал
SELECT people, AVG(min_point) AS AVG_shoot2
FROM SHOOTING
WHERE S_time >= '20190401' AND S_time <'20190701'
GROUP BY People)x,
--AVG за третий квартал
SELECT people, AVG(min_point) AS AVG_shoot3
FROM SHOOTING
WHERE S_time >= S_time >= '20190701' AND S_time <'20191001'
GROUP BY People)x,

Уважаемые коллеги пожалуйста подскажите!
...
Рейтинг: 0 / 0
01.07.2019, 15:48
    #39832365
Focha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Среднее значение за 2 и 3 картал со сравнением
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select *
from (
		SELECT	 people
				,AVG(case when S_time >= '20190401' AND S_time <'20190701' then min_point end ) AS AVG_shoot2
				,AVG(case when S_time >= '20190701' AND S_time <'20191001' then min_point end ) AS AVG_shoot3
		FROM SHOOTING
		WHERE S_time >= '20190401' AND S_time <'20191001'
		GROUP BY people
	 ) as x
...
Рейтинг: 0 / 0
01.07.2019, 19:36
    #39832469
RuRed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Среднее значение за 2 и 3 картал со сравнением
Большое спасибо за помощь!
...
Рейтинг: 0 / 0
01.07.2019, 20:42
    #39832493
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Среднее значение за 2 и 3 картал со сравнением
Код: sql
1.
2.
3.
4.
5.
SELECT people, [Quarter]=DATEPART(QUARTER,S_time), [AVG]=AVG(min_point)
FROM SHOOTING
WHERE S_time >= '20190401' AND S_time <'20191001'
GROUP BY people,DATEPART(QUARTER,S_time)
ORDER BY people,DATEPART(QUARTER,S_time);
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Среднее значение за 2 и 3 картал со сравнением / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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