|
Вложенные группировки.
|
|||
---|---|---|---|
#18+
Есть таблица: Create Table xxx( Id Integer not null primary key, /* Ключ * / HZ integer, /* Высота в метрах */ V real, /* Скорость ветра */ ADate Char, /* Дата в виде, например '2016.03.26' */ AYear Integer, /* В данном случае 2016 */ AMon Integer, /* В данном случае 3 */ ADay Integer, /* В данном случае 26 */ ...... Как правило, скорость ветра возрастает с высотой. Требуется определить среднюю толщину приземного слоя, где скорость ветра не больше, ну, скажем, 2 м/с, помесячно. Составил вот такой запрос: SELECT MAX(HZ),ADate FROM xxx WHERE V<=2 GROUP BY ADate А вот теперь бы результаты этого запроса усреднить и сгруппировать по месяцам. Но как это сделать, ума не приложу. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2016, 19:43 |
|
Вложенные группировки.
|
|||
---|---|---|---|
#18+
Massaraksh, Группировать можно не только по полю, но и по результату функции. А если у тебя дата в формате YYYY.MM.DD, то самое простое - использовать substr() ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2016, 20:37 |
|
Вложенные группировки.
|
|||
---|---|---|---|
#18+
White Owl, Спасибо, уже разобрался: SELECT AVG(s1.f1),s1.f3 FROM (SELECT MAX(HZ) as f1,ADate as f2,AMon as f3 FROM r_sodar AS s2 WHERE Round(V,2)<=2 GROUP BY f2,f3) AS s1 GROUP BY s1.f3 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2016, 20:46 |
|
Вложенные группировки.
|
|||
---|---|---|---|
#18+
Нет, неправильно. Может быть превышение 2 м/с на определённой высоте, а затем снова <2 м/с, в этом случае MAX(HZ) даст неверное значение. Ладно, буду думать дальше. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2016, 10:22 |
|
Вложенные группировки.
|
|||
---|---|---|---|
#18+
Всё, определился: SELECT MIN(HZ),ADate FROM r_sodar WHERE V>2 GROUP BY ADate Ну, и соответственно: SELECT AVG(s1.f1),s1.f3 FROM (SELECT MIN(HZ) as f1,ADate as f2,AMon as f3 FROM r_sodar AS s2 WHERE Round(V,2)>2 GROUP BY f2,f3) AS s1 GROUP BY s1.f3 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2016, 11:54 |
|
|
start [/forum/topic.php?fid=54&msg=39282231&tid=2008582]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 166ms |
0 / 0 |