Описание тега analytic-functions

Функции агрегирования, которые могут просматривать строки, возвращаемые одним и тем же запросом. Стандарт SQL определяет их как оконные функции, и тег "оконные функции" должен быть предпочтительнее, чем "аналитические-функции", если только он не является чем-то полностью специфичным для Oracle.
1 ответ

Агрегация скользящих окон SQL (без использования оконной функции)

Я ищу запрос, который может агрегировать данные за 21 день назад следующим образом: в моей таблице есть следующие столбцы: accountid, date, measure Для каждого аккаунта мне нужна дата суммирования (измерения) за предыдущие 21 день назад. Любая идея,…
1 ответ

Аналитическая функция MAX Проблемы

WITH t AS ( SELECT 9 a ,sysdate d ,1 c ,1 e FROM dual UNION SELECT 1 a ,sysdate - 5 d ,2 c ,1 e FROM dual UNION SELECT 2 a ,sysdate - 2 d ,6 c ,1 e FROM dual UNION SELECT 5 a ,sysdate - 4 d ,2 c ,1 e FROM dual UNION SELECT 3 a ,sysdate - 1 d ,1 c ,1…
08 окт '16 в 08:09
3 ответа

Средняя продажа за квартал с предыдущей квартальной средней продажей

У меня есть таблица, в которой есть различные атрибуты, такие как продукт региона, год, квартал, месяц, продажа. Я должен рассчитать продажу avg_qtr для каждого продукта, имеющего тот же регион, и показать их предыдущую продажу avg_qtr. Я читал о за…
1 ответ

Найти максимальное значение в столбце для каждого раздела

У меня есть структура таблицы, как: CREATE TABLE new_test ( col1 NUMBER(2) NOT NULL, col2 VARCHAR2(50) NOT NULL, col3 VARCHAR2(50) NOT NULL, col4 VARCHAR2(50) NOT NULL ); У него есть данные: col1 col2 col3 col4 0 A B X 1 A B Y 2 A B Z 1 C D L 3 C D …
26 сен '14 в 16:38
4 ответа

Аналитическая функция Oracle для минимального значения в группировке

Я новичок в работе с аналитическими функциями. DEPT EMP SALARY ---- ----- ------ 10 МАРЯ 100000 10 ДЖОН 200000 10 СКОТТ 300000 20 БОБ 100000 20 Бетти 200000 30 ALAN 100000 30 ТОМ 200000 30 JEFF 300000 Я хочу отдел и сотрудник с минимальной зарплатой…
07 окт '09 в 18:00
1 ответ

Oracle Analytic Rolling Percentile

Можно ли использовать управление окнами с любой из функций процентиля? Или вы знаете, как обойти скользящий процентиль? Это легко с скользящей средней: select avg(foo) over (order by foo_date rows between 20 preceding and 1 preceding) foo_avg_ma fro…
20 июл '12 в 15:54
4 ответа

Oracle разбит по группам на последовательность дат

Я пытаюсь использовать PARTITION BY OVER для "группировки" строк по определенным столбцам. Я немного понимаю использование PARTITION, однако хочу "заблокировать" разделы по дате. Например, если у нас есть |col1|col2 | | A |01/JAN/2012| | A |01/FEB/2…
07 мар '13 в 07:50
1 ответ

Следующее действие с использованием аналитических функций

Для проведения когортного анализа я пытаюсь получить следующее действие от каждого клиента (отмена подписки, обновление, обновление...) У меня есть monhtly снимок со следующими данными: customer | month | last_action | last_action_date 1 01-01-2012 …
30 апр '13 в 13:20
2 ответа

Oracle - Расчет разницы во времени

Допустим, у меня есть следующие данные: Create Table Pm_Test ( Ticket_id Number, Department_From varchar2(100), Department_To varchar2(100), Routing_Date Date ); Insert Into Pm_Test Values (1,'A','B',To_Date('20140101120005','yyyymmddhh24miss')); In…
25 мар '15 в 16:27
2 ответа

Как получить "следующее" событие, когда смещение является переменным?

У меня есть таблица транзакций в базе данных Oracle. Я пытаюсь собрать отчет для системы доставки, включающей несколько типов транзакций. Тип "запроса" может фактически быть одним из четырех подтипов ("A", "B", "C" и "D" для этого примера), а тип "д…
31 июл '14 в 16:02
1 ответ

Аналитическая функция density_rank() в Oracle

SELECT empno, deptno dense_rank() OVER (PARTITION BY deptno ORDER BY sal NULLS LAST) SRLNO FROM emp WHERE deptno IN (10, 20) group by empno, deptno --,sal ORDER BY deptno, SRLNO; Этот запрос не работал, потому что Sal должен быть в группе по предлож…
11 янв '12 в 18:41
4 ответа

Оценивать, где предикаты аналитических функций предшествуют другим предикатам (аналитические функции Oracle).

Фон Примерный набор данных #Employee Id | Period | Status --------------------- 1 | 1 | L 1 | 2 | G 2 | 3 | L Я хочу, чтобы простой запрос на выборку выдавал последнюю запись сотрудников (по периодам), только если статус ='L'. Результаты будут выгля…
3 ответа

Использование GROUP BY с FIRST_VALUE и LAST_VALUE

Я работаю с некоторыми данными, которые в настоящее время хранятся с интервалом в 1 минуту, и выглядит так: CREATE TABLE #MinuteData ( [Id] INT , [MinuteBar] DATETIME , [Open] NUMERIC(12, 6) , [High] NUMERIC(12, 6) , [Low] NUMERIC(12, 6) , [Close] N…
9 ответов

Функция SQL Row_Number() в предложении Where

Я нашел один вопрос с ответом Row_Number() функция в предложении, где. Когда я попробовал один запрос, я получил следующую ошибку: "Msg 4108, уровень 15, состояние 1, строка 1 Оконные функции могут появляться только в предложениях SELECT или ORDER B…
23 сен '09 в 16:00
1 ответ

Oracle собирает аналитическую функцию

Можно ли использовать команду 10g collect в качестве аналитической функции с помощью OVER PARTITION или каким-либо другим способом? например SELECT COLLECT(x) OVER (PARTITION BY y) FROM table Каждый раз, когда я пытаюсь это сделать, возникает исключ…
29 окт '09 в 11:31
3 ответа

Как произвести ранг в Oracle

Нужно ранжировать ниже по зарплате, с самой высокой зарплатой, имеющей ранг 1. RANK показанный столбец - то, что я после: Empname sal address RANK ---------------------------------------------- Ram 3411 45,east road 2 Anirban 2311 34,west wind 4 Sag…
31 июл '10 в 19:42
2 ответа

Интересная задача аналитических запросов Oracle

У меня достаточно опыта работы с аналитическими функциями Oracle, но эта поставила меня в тупик. Я пну себя, если есть очевидное решение:) У меня есть таблица, JOURNAL, которая записывает вставки, обновления и удаления в другой таблице. Таблица, для…
02 дек '11 в 02:02
3 ответа

Альтернатива для PERCENTILE_CONT в MySQL/MariaDB

Я хочу рассчитать процентиль_конт по этой таблице. В Oracle запрос будет SELECT PERCENTILE_CONT(0.05) FROM sometable; Что будет альтернативой в MariaDB/MySQL?
14 июн '16 в 06:30
2 ответа

Вопрос SQL для начинающих: запрос значков с золотыми и серебряными метками в Stack Exchange Data Explorer

Я использую Stack Exchange Data Explorer для изучения SQL, но я думаю, что основы этого вопроса применимы к другим базам данных. Я пытаюсь запросить Badges таблица, которая в соответствии со Stexdex (так я буду называть ее теперь) имеет следующую сх…
06 июн '10 в 18:42
1 ответ

Оконная функция аналитической функции

Столбец VAL представляет собой список номеров от 1 до 3, остальные столбцы должны отображать: A) MIN всех более низких значений, чем VAL B) MAX всех более низких значений, чем VAL C) MIN всех больших значений, чем VAL D) Макс всех больших значений, …
18 авг '17 в 22:36