У меня есть таблица temperatures
со столбцами mac_address
varchar (255), tm
datetime, temperature
float. Я хотел бы создать отчет с 3 параметрами: mac_address
, week_number
и year
.
В отчете должно отображаться maximum temperature
для определенных mac_address
для определенных week_number
(01, ... 50, ...) в определенных year
. Для некоторых week_number
и year
...
может быть более 1 строки. SQL Запрос к набору данных может выглядеть примерно так:
select max(temperature), mac_address, tm
from temperatures
group by mac_address
having mac_address = @mac_address and week_number = @week_number and year = @year
Знаете ли вы, как правильно построить запрос? Возможно, мне понадобятся еще 3 набора данных. Для параметра @mac_address это легко. Я буду
select distinct mac_address from temperatures
Но как мне это сделать с параметрами @week_number и @year? Является ли единственным вариантом добавления значений для раскрывающегося списка вручную?
Возможный результат может быть: Когда пользователь выбирает из параметров mac_address
001, week_number
47 и year
2019
max_temperature | tm
27.8 t1
27.8 t2
27.8 t3
Теперь он возвращает 3 строки. В большинстве случаев будет только один ряд.