Вывести 1000 случайных чисел от 1 до 1000, таких что не повторяются в этой последовательности, больше чем 3 раза.
select r.* from (select round(dbms_random.value(1, 1000)) as v from dual connect by level <= 1000) r group by r.v having count(*) < 4;
Вывести 1000 случайных чисел от 1 до 1000, таких что не повторяются в этой последовательности, больше чем 3 раза.
select r.* from (select round(dbms_random.value(1, 1000)) as v from dual connect by level <= 1000) r group by r.v having count(*) < 4;
Имеется таблица, в которой по счету на дату хранится остаток и ставка процентов годовых. Необходимо написать запрос, который рассчитает проценты за заданный период, данные будут сгруппированы по интервалам дат, когда остаток и ставка были неизменны.
(далее…)
Имеется таблица с интервалами дат. Необходимо написать запрос, который позволит объединить периоды, которые пересекаются или граничат.
(далее…)
Имеется таблица с днями рождения клиентов. Необходимо написать запрос, который позволит получить список клиентов, у которых в ближайшие N дней от заданной даты будет день рождения.
(далее…)
Есть таблица с данными в виде дерева. Необходимо написать запрос для получения дерева от корневого узла, узел 5 и все его потомки не должны попасть в результат, нужно вывести для каждого узла имя его родителя, данные отсортировать в порядке возрастания ID с учетом иерархии.
(далее…)
Напишите генератор непрерывного интервала дат с 10.01.2013 по 10.02.2013 в виде запроса.
(далее…)
По таблице из предыдущего примера написать запрос, который выведет данные общей суммой за каждый месяц по типам документов с итогами по каждому типу и общим итогом.
(далее…)
Имеется таблица в данными по платежным документам. Необходимо написать запрос, который выведет все документы того типа, которого за все время было по сумме больше всего. Если таких типов несколько, то вывести все такие типы. Для каждой строки результата вывести промежуточную сумму платежей данного типа от самого раннего до текущего платежа включительно.
(далее…)
Имеется таблица курсов валют следующей структуры:
CREATE TABLE "CURRENCY_RATE" ("CURR_ID" INTEGER, "DATE_RATE" DATE, "RATE" NUMBER ) TABLESPACE MIRAVILD_DATA; COMMENT ON TABLE "CURRENCY_RATE" IS 'Курс валюты'; COMMENT ON COLUMN "CURRENCY_RATE"."CURR_ID" IS 'Идентификатор валюты'; COMMENT ON COLUMN "CURRENCY_RATE"."DATE_RATE" IS 'Дата курса'; COMMENT ON COLUMN "CURRENCY_RATE"."RATE" IS 'Значение курса'; CREATE UNIQUE INDEX "U_IDX_CURRENCY_RATE" ON "CURRENCY_RATE" ("CURR_ID", "DATE_RATE") TABLESPACE MIRAVILD_INDEX; ALTER TABLE "CURRENCY_RATE" ADD CONSTRAINT "PK_CURRENCY_RATE" PRIMARY KEY ("CURR_ID", "DATE_RATE") USING INDEX "U_IDX_CURRENCY_RATE" ENABLE VALIDATE; /
Курс валюты устанавливается не на каждую календарную дату.
Уникальный ключ: curr_id + date_rate.
Напишите запрос, который покажет действующее значение курса заданной валюты на любую заданную календарную дату.
(далее…)
Написать запрос, показывающий, сколько долгов было в каждом месяце 2014 года в работе по договору (долг считается в работе в данном месяце если по договору мы имеем право работать хотя бы один день данного месяца).
(далее…)