Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 как суммировать данные по группам во вложенном запросе?  [new]
Dreamu4aya
Member

Откуда: Саратов
Сообщений: 30
Есть таблица
неделя год температура день недели время


Как составить запрос,
when день недели='воскресенье' and время='22:00' then
( вот тут нужен запрос, который выводит сумму температур на этой неделе в этом году, которые больше 10)

Помогите, пожалуйста.

по моим представляениям это должно выглядеть както так:
when день недели='воскресенье' and время='22:00'  then 
(select sum(температура) 
from таблица
where неделя=таблица.неделя and  год=таблица.год and температура>10)

но чтото не то....
22 июл 13, 17:06    [14600225]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Dreamu4aya
сумму температур на этой неделе в этом году, которые больше 10

Объясните мне, какой физический смысл имеет "сумма температур"?
22 июл 13, 17:17    [14600290]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
baracs
Member

Откуда: Москва
Сообщений: 7217
Dreamu4aya,

GROUP BY забыли.

А "эта неделя" и "этот год" как задаются? Если переменными, то
where @неделя=таблица.неделя and  @год=таблица.год and температура>10
22 июл 13, 17:19    [14600305]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
baracs
Member

Откуда: Москва
Сообщений: 7217
Гость333
Dreamu4aya
сумму температур на этой неделе в этом году, которые больше 10

Объясните мне, какой физический смысл имеет "сумма температур"?
Это, наверное, составителя задачи надо спрашивать...

"Если курица снесла 6 яиц, а петух - 2..." (c)
22 июл 13, 17:22    [14600326]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2414
Гость333,

наконец-то кто-то решил реализовать волшебное "средняя температура по больнице" )))
22 июл 13, 17:25    [14600343]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
Dreamu4aya
Member

Откуда: Саратов
Сообщений: 30
коэффициэнт влажности почвы считается как кол-во осадков за период*кол-во измерений/сумму температур
22 июл 13, 17:36    [14600409]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
Dreamu4aya
Member

Откуда: Саратов
Сообщений: 30
baracs, год и неделя, которые в строке, что удовлетворяет условиям, там получается одна строка в неделю. Т.е.все температуры за неделю суммируются.
22 июл 13, 17:45    [14600458]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
baracs
Member

Откуда: Москва
Сообщений: 7217
Dreamu4aya
baracs, год и неделя, которые в строке, что удовлетворяет условиям, там получается одна строка в неделю. Т.е.все температуры за неделю суммируются.
А что, тогда "не то"?
22 июл 13, 17:47    [14600468]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3752
Dreamu4aya
baracs, год и неделя, которые в строке, что удовлетворяет условиям, там получается одна строка в неделю. Т.е.все температуры за неделю суммируются.

sum(case when temperature > 10 then temperature else 0 end) over(partition by year,week order by ...)
22 июл 13, 17:48    [14600477]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
Dreamu4aya
Member

Откуда: Саратов
Сообщений: 30
baracs,
не поняла вопрос.
22 июл 13, 17:48    [14600478]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
ambarka_max
Member

Откуда: Россия
Сообщений: 517
Dreamu4aya
коэффициэнт влажности почвы считается как кол-во осадков за период*кол-во измерений/сумму температур

а что действительно есть такая формула? где можно посмотреть?
22 июл 13, 17:49    [14600484]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
baracs
Member

Откуда: Москва
Сообщений: 7217
Dreamu4aya
но чтото не то....
22 июл 13, 17:50    [14600486]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
Dreamu4aya
Member

Откуда: Саратов
Сообщений: 30
baracs,
не работает(
22 июл 13, 17:53    [14600508]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Dreamu4aya
коэффициэнт влажности почвы считается как кол-во осадков за период*кол-во измерений/сумму температур

Количество осадков, насколько я знаю, измеряется в мм/сут.
Количество измерений — безразмерная величина.
Температуры, судя по условию "больше 10", у вас в градусах Цельсия.
Итого ваш "коэффициент влажности почвы" будет измеряться в мм/(сут*град.Цельсия). Впервые про такое слышу. Всегда думал, что этот коэффициент должен быть безразмерной величиной.
22 июл 13, 17:54    [14600509]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
Dreamu4aya
Member

Откуда: Саратов
Сообщений: 30
ambarka_max,
Гидротермический коэффициент селянинова
22 июл 13, 17:55    [14600518]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
Dreamu4aya
Member

Откуда: Саратов
Сообщений: 30
Гость333,
Методика не мной разработана, я реализовать пытаюсь.
22 июл 13, 17:56    [14600526]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
baracs
Member

Откуда: Москва
Сообщений: 7217
Dreamu4aya
baracs,
не работает(
Моя фантазия иссякла.
Рискните предоставить побольше информации.
22 июл 13, 17:59    [14600536]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Dreamu4aya,

Приведите, пожалуйста, пример данных из исходной таблицы и то, что нужно получить в итоге.
22 июл 13, 18:04    [14600558]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
select неделя, год, температура, [день недели], время,
  case when [день недели]='воскресенье' and время='22:00' then
    sum(case when температура>10 then температура end)over(partition by неделя, год)
  else 0 end AS sum_температура
from таблица
22 июл 13, 18:04    [14600560]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
как вариант:
select неделя, год, температура, [день недели], время,
  sum(case when температура>10 then температура end)over(partition by неделя, год)
  *case when [день недели]='воскресенье' and время='22:00' then 1 else 0 end AS sum_температура
from таблица
22 июл 13, 18:07    [14600573]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
ambarka_max
Member

Откуда: Россия
Сообщений: 517
Да нет, я так понимаю нужно выводить результат запроса если сегодня воскресенье и 22:00
22 июл 13, 18:18    [14600619]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
ambarka_max
Да нет, я так понимаю нужно выводить результат запроса если сегодня воскресенье и 22:00
select * 
from (
  select неделя, год, температура, [день недели], время,
    sum(case when температура>10 then температура end)over(partition by неделя, год)
  from таблица
  )t
where [день недели]='воскресенье' and время='22:00'
22 июл 13, 19:32    [14600829]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
алиас забыл для суммы...
22 июл 13, 19:32    [14600831]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2414
ambarka_max
Да нет, я так понимаю нужно выводить результат запроса если сегодня воскресенье и 22:00

бред какой-то. причем здесь 22:00? может нужна "кол-во измерений/сумму температур" произведенных в это время? или после этого времени?
АВТОР - напишите все таки еще раз - где, и что вы хотите получить: список строк, одну строку, одно значение?
почему про "кол-во измерений" вы только потом упоминаете? как вы это вычисляете? отдельным запросом?
23 июл 13, 09:51    [14602353]     Ответить | Цитировать Сообщить модератору
 Re: как суммировать данные по группам во вложенном запросе?  [new]
Dreamu4aya
Member

Откуда: Саратов
Сообщений: 30
StarikNavy
ambarka_max
Да нет, я так понимаю нужно выводить результат запроса если сегодня воскресенье и 22:00

бред какой-то. причем здесь 22:00? может нужна "кол-во измерений/сумму температур" произведенных в это время? или после этого времени?
АВТОР - напишите все таки еще раз - где, и что вы хотите получить: список строк, одну строку, одно значение?
почему про "кол-во измерений" вы только потом упоминаете? как вы это вычисляете? отдельным запросом?


измерений всегда 28 в неделю.
23 июл 13, 11:26    [14602910]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить