powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помощь в составлении запроса. Минимум и максимум за день.
5 сообщений из 5, страница 1 из 1
Помощь в составлении запроса. Минимум и максимум за день.
    #39758365
denermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется следующая объединенная таблица:

area_name place_name object_name class year month day hour value

нужно сделать таблицу:

Код: plaintext
1.
2.
year = @year_to_calc;
month = @month_to_calc;
day = @day_to_calc;
area_name place_name object_name class min_value min_value_hour max_value max_value_hour

Т.е. для заданного дня найти максимальное и минимальное значения за 24ч и их час.
...
Рейтинг: 0 / 0
Помощь в составлении запроса. Минимум и максимум за день.
    #39758372
Kopelly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
Select min_vals.*,
max_value,
max_value_hour
From (
   Select top 1 with ties 
   area_name,place_name, object_name, class 
   value as min_value, 
   hour as min_value_hour
     From table 
   Where year = @year_to_calc and 
   month = @month_to_calc and
   day = @day_to_calc
   Order by Row_Number() over (Partition by area_name,place_name, object_name, class Order by Value
) min_vals
join 
(
   Select top 1 with ties 
   area_name,place_name, object_name, class 
   value as max_value, 
   hour as max_value_hour
     From table 
   Where year = @year_to_calc and 
   month = @month_to_calc and
   day = @day_to_calc
   Order by Row_Number() over (Partition by area_name,place_name, object_name, class Order by Value desc
) max_vals 
on min_vals.area_name = max_vals.area_name
and min_vals.place_name = max_vals.place_name
and min_vals.object_name = max_vals.object_name
and min_vals.class  = max_vals.class 
...
Рейтинг: 0 / 0
Помощь в составлении запроса. Минимум и максимум за день.
    #39758384
denermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kopelly,

спасибо.
Попробовал набрать первую половину только с минимумом - пишет
Код: plaintext
неправильный синтаксис около конструкции "min_vals"
...
Рейтинг: 0 / 0
Помощь в составлении запроса. Минимум и максимум за день.
    #39758388
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
with s as
(
 select
  area_name, place_name, object_name, class, year, month, day, hour, value,
  row_number() over (partition by area_name, place_name, object_name, class, year, month, day order by value) as rn,
  first_value(hour) over (partition by area_name, place_name, object_name, class, year, month, day order by value desc) as max_hour,
  first_value(value) over (partition by area_name, place_name, object_name, class, year, month, day order by value desc) as max_value
 from
  [Имеется следующая объединенная таблица]
)
select
 area_name, place_name, object_name, class, year, month, day,
 hour as min_hour, value as min_value,
 max_hour, max_value
from
 s
where
 rn = 1;
...
Рейтинг: 0 / 0
Помощь в составлении запроса. Минимум и максимум за день.
    #39758391
denermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kopelly,
а, скобки закрывающей не хватало.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помощь в составлении запроса. Минимум и максимум за день.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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