|
|
|
FIRST_VALUE - учусь
|
|||
|---|---|---|---|
|
#18+
Скажем прямо, аналитику использую редко, потому и умею ее плохо. Задача - собрать статистику по карточкам товаров. Простейшая задача для тренировки - когда и кем создана. Напрашивается FIRST_VALUE из журнала, но в group by ее указывать нельзя, как я понял. Получилось вот так коряво. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Наставьте на путь истинный. Как лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:06:22 |
|
||
|
FIRST_VALUE - учусь
|
|||
|---|---|---|---|
|
#18+
dmdmdmаналитику использую редкоА здесь ониа и не нужна. RTFM/STFF FIRST/LAST (KEEP) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:13:13 |
|
||
|
FIRST_VALUE - учусь
|
|||
|---|---|---|---|
|
#18+
Написал, как понял. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:29:02 |
|
||
|
FIRST_VALUE - учусь
|
|||
|---|---|---|---|
|
#18+
Этажность не обязательна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:31:16 |
|
||
|
FIRST_VALUE - учусь
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. Можно еще лучше? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:36:58 |
|
||
|
FIRST_VALUE - учусь
|
|||
|---|---|---|---|
|
#18+
dmdmdm Код: plsql 1. Можно еще лучше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 09:54:13 |
|
||
|
FIRST_VALUE - учусь
|
|||
|---|---|---|---|
|
#18+
dmdmdm Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. Можно еще лучше? :) В такой форме записи не нравится то, что групповая функция по сути оперирует с одним значением securitylog.username. При беглом взгляде сначала показалось, что ошибка в запросе - выберется минимальное имя пользователя. Обычно в таких случаях использую row_number(), с секционированием по идентификатору сущности (card.article), обратной сортировкой по дате изменения (securitylog.eventtime) и внешним запросом на выборку первой строки. При этом можно любые поля из card, securitylog выбирать без дополнительных max/min и группировок по выбранным полям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2016, 06:05:51 |
|
||
|
FIRST_VALUE - учусь
|
|||
|---|---|---|---|
|
#18+
AnSi_SrОбычно в таких случаях использую row_number()Группировка может быть эффективнее аналитической сортировки, так как в некоторых случая требует меньше памяти и может использовать hash-алгоритм. Для детерминизма групповым first/lastам нужно добавлять в сортировку уникальный ключ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2016, 07:08:57 |
|
||
|
FIRST_VALUE - учусь
|
|||
|---|---|---|---|
|
#18+
AnSi_Sr, спасибо, освоил. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Про выбор из эффективности и легкости чтения соглашусь - если эффективность выше не в разы, а на проценты, выбираю легкость чтения. В конце концов, есть важнейший ресурс - время. Можно его потратить и сделать эффективно и легкочитаемо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2016, 07:38:59 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39298383&tid=1887583]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
200ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 500ms |

| 0 / 0 |
