Вопросы с тегом «gaps-and-islands»

Проблемы с пробелами и островками включают поиск диапазона пропущенных значений (пробелов) или диапазона последовательных значений (островов) в последовательности чисел или дат.

18
Сгруппируйте ежедневное расписание в [Дата начала; Дата окончания] интервалы со списком дней недели

Мне нужно конвертировать данные между двумя системами. Первая система хранит расписания в виде простого списка дат. Каждая дата, включенная в расписание, состоит из одной строки. В последовательности дат могут быть различные промежутки (выходные, праздничные дни и более длинные паузы, некоторые дни...

16
Найти «n» последовательных свободных номеров из таблицы

У меня есть таблица с такими номерами (статус БЕСПЛАТНЫЙ или НАЗНАЧЕН) Идентификационный номер ----------------------- 1 000001 НАЗНАЧЕН 1 000002 БЕСПЛАТНО 1 000003 НАЗНАЧЕН 1 000004 БЕСПЛАТНО 1 000005 БЕСПЛАТНО 1 000006 НАЗНАЧЕН 1 000007 НАЗНАЧЕН 1 000008 БЕСПЛАТНО 1 000009 БЕСПЛАТНО 1 000010...

13
Группировка или Окно

У меня есть ситуация, я думаю, может быть решена с помощью оконной функции, но я не уверен. Представьте себе следующую таблицу CREATE TABLE tmp ( date timestamp, id_type integer ) ; INSERT INTO tmp ( date, id_type ) VALUES ( '2017-01-10 07:19:21.0', 3 ), ( '2017-01-10 07:19:22.0', 3 ), (...

12
Выберите самую длинную непрерывную последовательность

Я пытаюсь построить запрос в PostgreSQL 9.0, который получает самую длинную последовательность непрерывных строк для определенного столбца. Рассмотрим следующую таблицу: lap_id (serial), lap_no (int), car_type (enum), race_id (int FK) Где lap_noуникально для каждого (race_id, car_type). Я хотел бы,...

12
Подсчитать общее количество посещений

Я пытаюсь написать запрос, в котором мне нужно рассчитать количество посещений клиента, позаботившись о перекрывающихся днях. Предположим, что для itemID 2009 дата начала 23-го, а дата окончания - 26-го, поэтому элемент 20010 находится между этими днями, и мы не будем добавлять эту дату покупки к...

12
Заполнение пропущенных данных на основе значений на конец предыдущего месяца

Учитывая следующие данные: create table #histories ( username varchar(10), account varchar(10), assigned date ); insert into #histories values ('PHIL','ACCOUNT1','2017-01-04'), ('PETER','ACCOUNT1','2017-01-15'), ('DAVE','ACCOUNT1','2017-03-04'), ('ANDY','ACCOUNT1','2017-05-06'),...

10
Пробелы и острова: клиентское решение против запроса T-SQL

Может ли решение T-SQL для пробелов и островков работать быстрее, чем решение C #, работающее на клиенте? Чтобы быть точным, давайте предоставим некоторые тестовые данные: CREATE TABLE dbo.Numbers ( n INT NOT NULL PRIMARY KEY ) ; GO INSERT INTO dbo.Numbers ( n ) VALUES ( 1 ) ; GO DECLARE @i INT ;...

10
Как объединить похожие записи с разными датами действия?

Таблица, над которой я работаю, состоит из трех компонентов: IDСтолбец (первичный ключ в другой таблице) Некоторые столбцы данных Дата действительна from/ toстолбцы. Ценности: ID Data From To 1 a 2015-01-01 2015-01-05 1 a 2015-01-06 2015-01-10 1 b 2015-01-11 2015-01-15 1 a 2015-01-16 2015-01-20 2 c...

9
Сжатие последовательности в PostgreSQL

У меня есть id serial PRIMARY KEYстолбец в таблице PostgreSQL. Многие ids отсутствуют, потому что я удалил соответствующую строку. Теперь я хочу «сжать» таблицу, перезапустив последовательность и переназначив ids таким образом, idчтобы сохранить первоначальный порядок. Является ли это возможным?...

8
Использование Row_Number для поиска последовательного количества строк

У меня есть этот столбец целых, которые представляют возникновение сигнала, и я пытаюсь добавить столбец, который показывает количество последовательных строк Если мои данные выглядят так 724 727 728 733 735 737 743 747 749 результирующие данные с последовательным столбцом подсчета строк будут...

8
Выберите строки, начиная с указанного значения до другого указанного значения

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