|
|
|
Проблема в получении уникального списка символов, получаемых через left(uuid,1)
|
|||
|---|---|---|---|
|
#18+
hi all Возникло смутное сомнение, что данные random-природы *не* подвержены никаким видам материализации. Например, в LI-V2.5.3.26744 вот эти все варианты: Код: sql 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. А в LI-T3.0.0.30889 варианты 2 и 3 вообще выдают ноль строк. PS. И даже тройной одеколон distinct не помогает: Код: sql 1. 2. 3. 4. 5. 6. PS-2. Спасает только тройной group by: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. - но... только в 2.5 :'( В трёшке он возвращает пустое множество. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2014, 10:25:26 |
|
||
|
Проблема в получении уникального списка символов, получаемых через left(uuid,1)
|
|||
|---|---|---|---|
|
#18+
ТаблоидВозникло смутное сомнение, что данные random-природы *не* подвержены никаким видам материализации ты знал! Материализуются только поля таблиц, выражения всегда перевычисляются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2014, 11:28:44 |
|
||
|
Проблема в получении уникального списка символов, получаемых через left(uuid,1)
|
|||
|---|---|---|---|
|
#18+
dimitrТаблоидВозникло смутное сомнение, что данные random-природы *не* подвержены никаким видам материализации ты знал! Материализуются только поля таблиц, выражения всегда перевычисляются.а почему тогда:авторPS-2. Спасает только тройной group by: select c from( select c from ( select left(uuid_to_char(gen_uuid()),1) c from rdb$formats group by c ) x group by c ) x group by c; - но... только в 2.5 :'( В трёшке он возвращает пустое множество. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2014, 12:04:54 |
|
||
|
Проблема в получении уникального списка символов, получаемых через left(uuid,1)
|
|||
|---|---|---|---|
|
#18+
ХЗ почему, не разбирался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2014, 12:08:04 |
|
||
|
Проблема в получении уникального списка символов, получаемых через left(uuid,1)
|
|||
|---|---|---|---|
|
#18+
ТаблоидВозникло смутное сомнение, что данные random-природы *не* подвержены никаким видам материализации.Еще один пример. Результаты его поражают мну в самое сердце DDL: Код: 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. Сохраняем вышеприведенный запрос в скрипте (у мну - 'rand.sql') и начинаем гонять его. Вижу диво дивное: Код: 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. 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. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 1) NULL'ы, т.е. выборка select * from (select id, row_number()over() rn from tmp) where rn=NNNN - была пустая; конкретно для показанных выше результатов это, разумеется, не так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 2) отличия в min(id) vs max(id) в выборке select ... from (select id, row_number()over() rn from tmp) where rn=b.rx, что приводит к двум и даже более записям, получаемым скалярным подзапросом Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2014, 16:26:15 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=101&tid=1563810]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
84ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 195ms |
| total: | 368ms |

| 0 / 0 |
