|
|
|
Как выбрать первые N ресордов? СРОЧНО!!!
|
|||
|---|---|---|---|
|
#18+
Я ДЕЛАЮ СЕЛЕКТ: select time_key,pdu_type,smsc_key,esme_key,total_calls,count(*) from AGG_SMPP_DATA where pdu_type in (4,5) and time_key<3group by time_key,pdu_type,smsc_key,esme_key,total_calls order by time_key,total_calls desc; и получаю: TIME_KEY PDU_TYPE SMSC_KEY ESME_KEY TOTAL_CALLS COUNT(*) ---------- ---------- ---------- ---------- ----------- ---------- 1 4 1 1 147 1 1 4 2 2 147 1 1 5 1 1 127 1 1 5 2 2 127 1 1 4 1 3 116 1 1 4 3 5 116 1 1 5 3 5 101 1 1 5 1 3 100 1 1 4 1 1 1 1 1 5 1 1 1 1 1 4 2 2 1 1 1 5 2 2 1 1 2 5 1 1 203 1 2 5 2 2 203 1 2 4 1 1 196 1 2 4 2 2 195 1 2 4 1 3 152 1 2 4 3 5 151 1 2 5 1 3 146 1 2 5 3 5 146 1 2 4 2 2 1 1 2 4 3 5 1 1 а мне надо только первые 5 для каждых time_key!!! ЧТО ДЕЛАТЬ?? ПОМОГИТЕ ПЛЗ!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 18:35 |
|
||
|
Как выбрать первые N ресордов? СРОЧНО!!!
|
|||
|---|---|---|---|
|
#18+
Oracle 8.1.7 Enterprise Edition Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 19:07 |
|
||
|
Как выбрать первые N ресордов? СРОЧНО!!!
|
|||
|---|---|---|---|
|
#18+
select * from (select rownum nm, time_key,pdu_type,smsc_key,esme_key,total_calls,count(*) from AGG_SMPP_DATA where pdu_type in (4,5) and time_key<3group by time_key,pdu_type,smsc_key,esme_key,total_calls order by time_key,total_calls desc) a where a.nm < 5; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 19:21 |
|
||
|
Как выбрать первые N ресордов? СРОЧНО!!!
|
|||
|---|---|---|---|
|
#18+
проблема в том что я не могу создать temp table я использую этот селест в Crystal Reports :-((( и основная таблица интенсивно заселяется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 19:22 |
|
||
|
Как выбрать первые N ресордов? СРОЧНО!!!
|
|||
|---|---|---|---|
|
#18+
Try: Код: 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. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 19:28 |
|
||
|
Как выбрать первые N ресордов? СРОЧНО!!!
|
|||
|---|---|---|---|
|
#18+
>проблема в том что я не могу создать temp table я использую этот селест в >Crystal Reports :-((( и основная таблица интенсивно заселяется А Вам Денис и не предлагал создавать temp table. Где Вы это увидили? Проблема с Кристаллом будет в том, что там запрос строится сам на основе того, что вы нарисовали в отчете и эти заморочки с subquery он не понимает. Т.е. можно задать ему такой запрос, но параметры туда Вы передать не сможете. Или другая возможность написать его в Crystal SQL, но тогда он не будет работать через web (хотя может в последних версиях они это и пофиксили). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 19:32 |
|
||
|
Как выбрать первые N ресордов? СРОЧНО!!!
|
|||
|---|---|---|---|
|
#18+
При чем тут временная таблица? Или ты про select .. from ... select ? Тогда можешь выкрутиться так: создай представление (view) из подзапроса, а в Crystall Reports сделай Set Location, указав вместо таблицы его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 19:34 |
|
||
|
Как выбрать первые N ресордов? СРОЧНО!!!
|
|||
|---|---|---|---|
|
#18+
SELECT * FROM ( select time_key,pdu_type,smsc_key,esme_key,total_calls,count(*) from AGG_SMPP_DATA where pdu_type in (4,5) and time_key<3 group by time_key,pdu_type,smsc_key,esme_key,total_calls order by time_key,total_calls desc) WHERE rownum<6; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 19:35 |
|
||
|
Как выбрать первые N ресордов? СРОЧНО!!!
|
|||
|---|---|---|---|
|
#18+
2 Roman_M Надо первые 5 из каждой группы, а не просто от всех возвращенных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 19:50 |
|
||
|
Как выбрать первые N ресордов? СРОЧНО!!!
|
|||
|---|---|---|---|
|
#18+
SY, спасибо вам огромне,вы спасли мне жизнь!!! :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 20:54 |
|
||
|
Как выбрать первые N ресордов? СРОЧНО!!!
|
|||
|---|---|---|---|
|
#18+
Упс, сорри, тогда SY все очень красиво расписал... Разработчик, наверное :-) У меня по-админски получилось... select time_key,pdu_type,smsc_key,esme_key,total_calls,cnt from ( select time_key,pdu_type,smsc_key,esme_key,total_calls,count(*) cnt, row_number() over (partition by time_key order by time_key, pdu_type,total_calls) r from AGG_SMPP_DATA where pdu_type in (4,5) and time_key<3 group by time_key,pdu_type,smsc_key,esme_key,total_calls order by time_key,total_calls desc) where r<6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 21:07 |
|
||
|
Как выбрать первые N ресордов? СРОЧНО!!!
|
|||
|---|---|---|---|
|
#18+
> Упс, сорри, тогда SY все очень красиво расписал... Разработчик, наверное :-) У меня по-админски получилось... DBA actually, not developer. But when you maintain ASP databases with hundreds of stored procedures, functions, packages, triggers, types, materialized views, nested tables, LOBs and "my favorite" external functions (sorry if I missed your favorites) any DBA would become a developer. And my "rulle#1" when developer comes to me with their code issues is "don't even try to appoach me with not formatted code". I am far from being a "neat freak" (especially in my "non DBA" life), but I strongly believe a lot of syntax errors and logic bugs are not detected simply because code is not formatted properly. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 22:28 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32161215&tid=1990546]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
164ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 428ms |

| 0 / 0 |
