|
Изящный select
|
|||
---|---|---|---|
#18+
Всем привет! Бьюсь над запросом уже третий день, не могу решить задачку. есть таблица со значениями, как из этого набора получить значение по условию - max(type) взяв поля name, val, bit? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Копал в сторону аналитических функций, но я как "мартышка и очки" с ними.. пока нет такой большой практики чтобы легко представить структуру запроса. Может кто с ходу имеет решение? ) Буду очень благодарен! PS Oracle 11 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2020, 18:20 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Dr_Grizzly, Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2020, 18:35 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Капец! А до слез просто.... я столько бился над агрегатными функциями,а надо было всего лишь взять одну строку сортированную )))))) Спасибо большущее!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2020, 18:50 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Хотя не совсем подошло для общего примера... Для одного набора данных все ок. Ща пример расширю Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2020, 18:58 |
|
Изящный select
|
|||
---|---|---|---|
#18+
mRdUKE Dr_Grizzly, Код: sql 1.
Код: plsql 1. 2.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2020, 18:58 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Попробовал вот так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2020, 19:11 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Dr_Grizzly, .. row_number() over (partition by name order by type desc) rn .. ) where rn = 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2020, 20:30 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Dr_Grizzly я столько бился над агрегатными функциями есть такие изящные ф-ции first/last_value https://docs.oracle.com/cd/B28359_01/server.111/b28286/functions059.htm#SQLRF00642 .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 10:12 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Stax, Ой без value https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions056.htm .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 10:35 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Код: 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. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 18:22 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Staxесть такие изящные ф-ции first/last_value давно ты тыкаешь носом в документацию? если люди пишут, они явно ждут 100500 решений от стакса. Не важно каких, главное, чтобы были. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2020, 20:47 |
|
Изящный select
|
|||
---|---|---|---|
#18+
merch Staxесть такие изящные ф-ции first/last_value давно ты тыкаешь носом в документацию? если люди пишут, они явно ждут 100500 решений от стакса. Не важно каких, главное, чтобы были. решение было 22109598 поетому рискнул дать ссылку и то неудачно ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 08:44 |
|
Изящный select
|
|||
---|---|---|---|
#18+
andrey_anonymous, one row per match Гарантирует ли оракля что ето будет первая (c макс myType) строка? для pattern (x+) выводит не всегда первую (максимальную), хотя есть order by myType desc зы как обойти для all rows per match я догадываюсь ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 08:54 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Stax Гарантирует ли оракля что ето будет первая (c макс myType) строка? Контрпример? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 13:12 |
|
Изящный select
|
|||
---|---|---|---|
#18+
andrey_anonymous Контрприклад? вот такое, должно решать "получить одну строку с мах type"? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
зы Контрприклада может и не быть, если первая гарантировна но не встречал в доке (правда я и читаю с трудом, не говоря уж о понимании) ...... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 14:53 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Stax но не встречал в доке (правда я и читаю с трудом, не говоря уж о понимании) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 16:01 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Stax правда я и читаю с трудом, не говоря уж о понимании Если таки захочется почитать - Row Pattern Navigation Operations . ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 17:04 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Кобанчег Stax правда я и читаю с трудом, не говоря уж о понимании Если таки захочется почитать - Row Pattern Navigation Operations . вопрос (сомнения) не по етой диаграмке (картинке) one row per match вернуть одну строку из набора, я примерно так перевел так вот, ета одна строка гарантировано будет из первого правила (в andrey_anonymous ето strt (не из х))? ps для 22111862 one row per match возвращает не первую (order by myType desc) строку ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 17:25 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Stax для 22111862 one row per match возвращает не первую (order by myType desc) строку Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 17:36 |
|
Изящный select
|
|||
---|---|---|---|
#18+
понятно что для х Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 18:07 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Stax так вот, ета одна строка гарантировано будет из первого правила (в andrey_anonymous ето strt (не из х))? Зато есть такое понятие как pattern variables. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 18:12 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Stax, Если вопрос надо ли указывать running/final first/last для one row per match, то читай по приведенной ссылке раздел "RUNNING Versus FINAL Keywords" In MEASURES with ONE ROW PER MATCH, all aggregates, FIRST, and LAST are computed after the last row of the match is recognized, so that the default RUNNING semantics is actually no different from FINAL semantics. The user may prefer to think of expressions defaulting to FINAL in these cases or the user may choose to write FINAL for added clarity. If ONE ROW PER MATCH is specified, then conceptually the query is positioned on the last row of the match. An ordinary column reference references the last row that is mapped to the pattern variable. If the variable is not mapped to any row, then the value is null. Consequently, an ordinary column reference such as X.Price is equivalent to RUNNING LAST (X.Price). ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2020, 18:25 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Stax понятно что для х ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2020, 07:22 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Кобанчег, кажись наконец то понял так как указано strt., то вернет одну строку из strt спасибо ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2020, 08:51 |
|
Изящный select
|
|||
---|---|---|---|
#18+
Stax Код: plsql 1.
оракл в случаи one row per match гарантировано вернет запись с strt (с первой pattern variable), а не с х? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2020, 09:12 |
|
|
start [/forum/topic.php?fid=52&fpage=49&tid=1881380]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 17ms |
total: | 191ms |
0 / 0 |