|
|
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
Доброго всем времени суток! Прилетела тут мне в вентилятор задача... В течении месяца клиенты совершали операции, о чем свидетельствуют записи в БД. Необходимо: внутри каждого дня отобрать операции, где для одного клиента было больше 5 операций, причем нужно выбрать не все записи, а только те, которые > 5... В какую сторону копать? Запрос вида Код: plsql 1. не поможет - нужны все поля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 12:37 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
GroMoZeKazzzпричем нужно выбрать не все записи, а только те, которые > 5... Если у клиента 7 операций, то вернуть только 2? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 12:42 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
Dshedoo, да. Критерий - операции с максимальными id. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 12:47 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
GroMoZeKazzz, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 12:57 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
GroMoZeKazzz, Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 13:00 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
GroMoZeKazzzНеобходимо: внутри каждого дня отобрать операции, где для одного клиента было больше 5 операций, причем нужно выбрать не все записи, а только те, которые > 5... Вы выбрали дни где было больше 5-ти операций, а Вам надо для одного клиента было больше 5 операций не понятнно что такое "не все записи" 1) все записи клиентов с "больше 5 операций"? 2) 6-ю и больше опецацию? ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 13:34 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
Staxне понятнно что такое "не все записи" 1) все записи клиентов с "больше 5 операций"? 2) 6-ю и больше опецацию? ..... stax Да, если у клиента было 7 операций за день, то необходимо отобрать 6-ю и 7-ю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 13:51 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
GroMoZeKazzzДа, если у клиента было 7 операций за день, то необходимо отобрать 6-ю и 7-ю. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 14:25 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
SY, не вышло. У клиента 2 операции, но он попадает в выборку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 14:35 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
SYGroMoZeKazzzДа, если у клиента было 7 операций за день , то необходимо отобрать 6-ю и 7-ю. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 14:36 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousSYпропущено... Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. SY. Упс, Код: plsql 1. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 14:45 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. и что будет если 3 и 4 запись имеют одинаковую дату? вопрос про dense_rank ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 14:48 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
mama.saidи что будет если 3 и 4 запись имеют одинаковую дату? вопрос про dense_rank А две транзакции могут иметь то же время? SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 14:55 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
mama.said Код: plsql 1. и что будет если 3 и 4 запись имеют одинаковую дату? вопрос про dense_rank Той, которую схватит раньше, проставит "3", а следующей - "4". Можно, конечно, в ордер добавить rowid для верности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 14:57 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
Dshedoo, я про то чтобы заменить dense_rank на row_number SY.А две транзакции могут иметь то же время? речь же идет все таки об операциях клиента. например клиент купил за один клик два товара и получил еще скидку на них 15 процентов. это вполне могут быть три операции в одно и тоже время по одному клиенту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 15:28 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
Создал табличку для теста: create&insert Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Выполняю запрос Код: plsql 1. Получаю: IDDOGNUMSUMMADATEOPERRNK212310008.11.2018 12:02:031312310008.11.2018 12:03:042412310009.11.2018 12:05:063512310009.11.2018 12:07:084612310009.11.2018 12:09:105712310009.11.2018 12:11:126812310009.11.2018 12:13:147912310009.11.2018 12:15:168 За 09.11.2018 по идее должна вернуться одна запись ID = 9 (при SELECT * FROM X WHERE RNK > 5 ), но вернутся 6,7,8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 15:31 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
Dshedoomama.saidвопрос про dense_rank Той, которую схватит раньше, проставит "3", а следующей - "4". уверенны? Код: plsql 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. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 15:31 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
Вот табличка для тестов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 15:34 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
авторгде для одного клиента было больше 5 операций GroMoZeKazzzСоздал табличку для теста: клиєнт кто в етой табличке? ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 15:40 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
Staxклиєнт кто в етой табличке? ..... stax DOGNUM - он же номер договора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 16:10 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
GroMoZeKazzzStaxклиєнт кто в етой табличке? ..... stax DOGNUM - он же номер договора. один клиент может иметь несколько договоров чем не подходит 21729622 ? .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 16:23 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
Staxодин клиент может иметь несколько договоров чем не подходит 21729622 ? .... stax Может, не спорю. Но в данном случае интерес именно в разрезе договоров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 16:34 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
GroMoZeKazzz, ну так добавь то в свой селект то что советовали Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 16:50 |
|
||
|
Комрады, нужна помощь с запросом
|
|||
|---|---|---|---|
|
#18+
GroMoZeKazzz, Код: plsql 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. ps или ... partition by trunc(dateoper),dognum ... ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 16:53 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39730741&tid=1883209]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
23ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 321ms |

| 0 / 0 |
