|
|
|
Хитрый запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Есть некая таблица Код: plaintext 1. 2. Группировку по годам сделать просто: Код: plaintext А можно ли сделать группировку по интервалам значений year(vvod): 1990-1994 ... 2000-2004 Или обычными средствами SQL это не делается и надо писать процедурку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 11:09:20 |
|
||
|
Хитрый запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 11:27:23 |
|
||
|
Хитрый запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Наверняка есть какие-то аналитические функции для этого. А если тупо можно так: Код: plaintext 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. 31. 32. 33. 34. 35. 36. 37. 38. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 11:59:41 |
|
||
|
Хитрый запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
select (case when (to_char(vvod, 'yyyy')>='1994' and to_char(vvod, 'yyyy')<'1998') then '1994_1998' when (to_char(vvod, 'yyyy')>='1998' and to_char(vvod, 'yyyy')<'2000') then '1998_2000' when (to_char(vvod, 'yyyy')>='2000' and to_char(vvod, 'yyyy')<'2003') then '2000_2003' else 'others' end), count(*) from ttt group by (case when (to_char(vvod, 'yyyy')>='1994' and to_char(vvod, 'yyyy')<'1998') then '1994_1998' when (to_char(vvod, 'yyyy')>='1998' and to_char(vvod, 'yyyy')<'2000') then '1998_2000' when (to_char(vvod, 'yyyy')>='2000' and to_char(vvod, 'yyyy')<'2003') then '2000_2003' else 'others' end) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 13:20:00 |
|
||
|
Хитрый запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Есть еще CASE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 13:21:07 |
|
||
|
Хитрый запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Все спасибо, так то оно так, в общем то очевидно, а если неизвестно какой диапазон значений? В этом то вся и фишка, иначе бы и не писал в форум. Может какая-либо аналитичсекая функция есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 16:20:58 |
|
||
|
Хитрый запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
"а если неизвестно какой диапазон значений? " to Andrej: Может я чего-то не понимаю, может одно из двух - а если ты сам не знаешь какие тебе нужны диапазоны, кто тогда знает? Ответь мне на простой вопрос: сколько всего диапазонов между 1993 и 2003 годом? Правильно - неизвестно. Поскольку в вопросе не указаны критерии на параметры диапазона. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 16:25:50 |
|
||
|
Хитрый запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Поясни, что значит "неизвестно какой диапазон значений"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 16:26:15 |
|
||
|
Хитрый запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
to Andrej Вариант Дениса работает для любого интервала дат разбивая его на диапазоны длиною 5 лет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 16:31:10 |
|
||
|
Хитрый запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Я так сильно подозреваю, что имеется ввиду непрерывные диапазоны т.е. если есть данные с 1993,1994,1995, 1997,1998,1999 то будет 2 диапазона 1993-1995 и 1997-1999, а если внести строку с 1996, то станет 1 диапазон, и заранее их определить нельзя, Хотя вообще-то спрашивающий должен точнее формулировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 17:05:25 |
|
||
|
Хитрый запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
2 Andrej: Если неизвестно какой диапазон значений , тогда делаешь Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2003, 22:42:20 |
|
||
|
Хитрый запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
Да, у Дениса идея правильная, вот так работает: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 11:50:06 |
|
||
|
Хитрый запрос с группировкой
|
|||
|---|---|---|---|
|
#18+
2 Andrej Так бы и сказал сразу что по пять лет делить надо, а то городишь про неизвестный диапазон значений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2003, 13:35:15 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=2775&tid=1990427]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 368ms |

| 0 / 0 |
