Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Группировка с нахождением новейших строк.
|
|||
|---|---|---|---|
|
#18+
НеофитSQL, max по rowid для блока with построенного на dual? Месье знает толк в извращениях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2020, 18:00 |
|
||
|
Группировка с нахождением новейших строк.
|
|||
|---|---|---|---|
|
#18+
На этом примере куда лучше видно, что адекватно формулировать свою задачу у вас не получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2020, 18:01 |
|
||
|
Группировка с нахождением новейших строк.
|
|||
|---|---|---|---|
|
#18+
Stax НеофитSQL Но... не работает. Нельзя rowid использовать ни с distinct, ни с group by. по одному наймолодшему в отделе Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ..... stax Вы, однако, извращенец. После моего комментария я увидел что загвоздка с rowid была из-за inline views, я вначале неправильно прочитал сообщение об ошибке, и написал об этом. 22243959 А потом кто-то увидел max(rowid), недочитал строку, и началось... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2020, 18:03 |
|
||
|
Группировка с нахождением новейших строк.
|
|||
|---|---|---|---|
|
#18+
K790 посыпаю голову пеплом, понял. тогда вопрос как построена архитектура? Пример был игрушечный, т.к. ответ на него отвечал на мой вопрос - как получить "главную" строку из каждой группы без дополнительных колонок. Главную - как определяет мой критерий сортировки, и группировка по нескольким колонкам. В игрушечном примере группировка по двум колонкам, а сортировка - по "day". Я подозревал что ответ который дает колонку rowid - оптимальный, потому что доступ по rowid бесплатный, и потому что rowid существует, исходя из постановки задачи (выдать строки целиком по критерию). Но у меня не получалось его написать, т.к. я забыл что у CTE нет rowid. Потом, с подсказкой от SY и других, все получилось. 22243959 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2020, 18:11 |
|
||
|
Группировка с нахождением новейших строк.
|
|||
|---|---|---|---|
|
#18+
env На этом примере куда лучше видно, что адекватно формулировать свою задачу у вас не получается. Некоторым танцорам штаны мешают ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2020, 18:13 |
|
||
|
Группировка с нахождением новейших строк.
|
|||
|---|---|---|---|
|
#18+
НеофитSQL Вы разберетесь сами на этом примере, почему здесь МАХ не дает максимальную цену, и почему его можно заменить на MIN или AVG? авторЦены не более одного раза в день обновляются обновите цену два раза в день (без времени), и будет Вам max ps если order by ... не уникально строку с помощью keep не выбрать ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2020, 18:15 |
|
||
|
Группировка с нахождением новейших строк.
|
|||
|---|---|---|---|
|
#18+
НеофитSQL Потом, с подсказкой от SY и других, все получилось. 22243959 ??? Моя "подсказка" была с MAX/MIN ROWID ничего не выйдет. Stax показал "дедовский" метод которым мы пользовались в дремучие времена когда Oracle не поддерживал аналитические ф-ции. А моя основная "подсказка" была используй SCD2 - цена меняется мах 2 раза в день а выбирается куда больше раз. Так-что потери на изменение цены через SCD2 с лихвой окупятся при выборке. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2020, 19:08 |
|
||
|
Группировка с нахождением новейших строк.
|
|||
|---|---|---|---|
|
#18+
> обновите цену два раза в день (без времени), Тогда условия задачи требуют корректировки, т.к. "последняя цена" не определена. Если "любая из последних", то MAX подойдет, и MIN подойдет, а вот с AVG будут проблемы. Эх, надо было AVG(rowid) написать. Жаль, что это не число :) Для параноиков как я, в таблицу можно добавить уникальный constraint по (prod,clr,day). A в квери - поставить "бомбу" которая ее сломает если все-таки появились дупликаты. Чтоб неповадно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2020, 19:11 |
|
||
|
Группировка с нахождением новейших строк.
|
|||
|---|---|---|---|
|
#18+
SY НеофитSQL Потом, с подсказкой от SY и других, все получилось. 22243959 ??? Моя "подсказка" была с MAX/MIN ROWID ничего не выйдет. Stax показал "дедовский" метод которым мы пользовались в дремучие времена когда Oracle не поддерживал аналитические ф-ции. А моя основная "подсказка" была используй SCD2 - цена меняется мах 2 раза в день а выбирается куда больше раз. Так-что потери на изменение цены через SCD2 с лихвой окупятся при выборке. SY. Я говорил про 22243953 . Там пример был чужой и сломанный, но теперь у меня свой и как env уже увидел, правильно работающий. Про SCD2 почитаю на будущее. Сейчас не применю, т.к. строил одноразовый отчет по архивным данным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2020, 19:16 |
|
||
|
Группировка с нахождением новейших строк.
|
|||
|---|---|---|---|
|
#18+
НеофитSQL Некоторым танцорам штаны мешают Купите штаны пошире (официальную поддержку). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2020, 09:03 |
|
||
|
|

start [/forum/topic.php?fid=52&gotonew=1&tid=1880630]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
65ms |
get topic data: |
13ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 193ms |

| 0 / 0 |
