Информация

Последние записи

Теги


Блоги


Записи из всех блогов с тегом: last


Конструкция KEEP FIRST/LAST в SQL за 5 минут, ясно и понятно

Блог: Oracle SQL
Конструкция KEEP FIRST/LAST используется в SQL Oracle для вычисления значения, первой или последней записи в заданной подгруппе, отcортированной по некоторому признаку
она так же позволяет найти результат агрегатной функции по сгруппированным данным, если таких значений несколько

Проще понять это на примере
создадим таблицу курсов валют

CREATE TABLE prices
( 
 ticker VARCHAR2(3), -- валюта сокращ
 pdate DATE, -- дата 
 price FLOAT -- курс валюты
);

заполним таблицу тестовыми данными
за каждый день в таблице может быть несколько курсов заданной валюты
читать дальше...
автор: Myp3_u_K добавлено: 02 окт 17 просмотры: 995, комментарии: 0



Аналитический SQL Oracle за 20 минут

Блог: Oracle SQL
Аналитический SQL демонстрирует исключительную производительность, запросы с использованием Аналитического SQL потребляют меньше ресурсов и выполняются быстрее.
Авторский курс. SQL от новичка до профессионала. Бесплатное вводное занятие. Сертификат. Записывайся!
Прокачаю до уровня БОГ!

изучаем SQL группа в контакте - присоединяйтесь

Применяется в основном для отчетности , для следующих типов задач
1. Запросы рейтингов, первых N
2. Запросы с накопительным итогом
3. Запросы с конструкцией окна
4. Может применятся и для оптимизации запросов

Какие бывают функции в аналитическом, разберём основные
ROW_NUMBER() – номер строки в группе
LAG(f, n,m) –f имя поля, n предыдущее значение в группе, m – знач по умолчанию
LEAD(f, n,m) -f имя поля, n последующее значение в группе, m – знач по умолчанию
FIRST_VALUE(f) – f имя поля, первое значение в группе ,
LAST_VALUE(f) –f имя поля, последнее значение в группе
STD_DEV(f) – f имя поля, значение стандартного распределения в группе
SUM(f) – f имя поля, накопительная сумма по группе
AVG (f)– f имя поля, среднее по группе заданной групп
RANK(f) – f имя поля, относительный ранг записи в группе


Синтаксис
SELECT аналитическая функция OVER([PARTITION партицирование…] 
ORDER BY (упорядочивание выражение 2 [,…] [{ASC/DESC}] [{NULLS FIRST/NULLS LAST}]) а


читать дальше...
автор: Myp3_u_K добавлено: 15 апр 15 просмотры: 45320, комментарии: 0



Функции работы с датами ORACLE

Блог: Oracle SQL
Авторский курс. SQL от новичка до профессионала. Бесплатное вводное занятие. Сертификат. Записывайся!
Прокачаю до уровня БОГ!


наиболее часто используемые в повседневной работе функции для преобразования, обработки данных типа DATE
SYSDATE - текущая дата, sysdate-1 - вчера , sysdate-1/24 - час назад :)

последний день месяца
SELECT LAST_DAY(sysdate) "LASTDAY" FROM DUAL;
-- 30.09.2012

первый день месяца
SELECT TRUNC(sysdate, 'MONTH') "FIRSTDAYOFMONTH" FROM DUAL;
-- 01.09.2012

первый день месяца, другая запись
SELECT TRUNC(sysdate, 'MM')  "FIRSTDAYOFMONTH" FROM DUAL;
--01.09.2012


первый день года
SELECT TRUNC(sysdate, 'YEAR')  "FIRSTDAYOFYEAR" FROM DUAL;
-- 01.01.2012

первый день года , другая запись
SELECT TRUNC(sysdate, 'YY') "FIRSTDAYOFYEAR" FROM DUAL;

--01.01.2012

извлечь месяц из даты
SELECT EXTRACT(MONTH FROM sysdate) FROM dual; 
--9

извлечь день из даты
SELECT EXTRACT(day FROM sysdate) FROM dual;

--21

извлечь год из даты
SELECT EXTRACT(YEAR FROM sysdate) FROM dual;

-- 2012

Чалышев М.М www.orasource.ru
автор: Myp3_u_K добавлено: 14 окт 12 просмотры: 16426, комментарии: 0