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

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

7
Сгруппируйте ежедневное расписание в [Дата начала; Дата окончания] интервалы со списком дней недели
Мне нужно конвертировать данные между двумя системами. Первая система хранит расписания в виде простого списка дат. Каждая дата, включенная в расписание, состоит из одной строки. В последовательности дат могут быть различные промежутки (выходные, праздничные дни и более длинные паузы, некоторые дни недели могут быть исключены из графика). Там не может …

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

7
Группировка или Окно
У меня есть ситуация, я думаю, может быть решена с помощью оконной функции, но я не уверен. Представьте себе следующую таблицу 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 ), ( …

5
Заполнение пропущенных данных на основе значений на конец предыдущего месяца
Учитывая следующие данные: 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'), ('DAVE','ACCOUNT1','2017-05-07'), ('FRED','ACCOUNT1','2017-05-08'), ('JAMES','ACCOUNT1','2017-08-05'), ('DAVE','ACCOUNT2','2017-01-02'), ('PHIL','ACCOUNT2','2017-01-18'), ('JOSH','ACCOUNT2','2017-04-08'), ('JAMES','ACCOUNT2','2017-04-09'), ('DAVE','ACCOUNT2','2017-05-06'), ('PHIL','ACCOUNT2','2017-05-07') ; ... который представляет, когда данный пользователь был назначен на учетную запись. Я пытаюсь установить, кому принадлежала данная учетная …

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

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

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

4
Как объединить похожие записи с разными датами действия?
Таблица, над которой я работаю, состоит из трех компонентов: 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 2015-01-01 2015-01-05 2 c 2015-01-06 …

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

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

3
Использование Row_Number для поиска последовательного количества строк
У меня есть этот столбец целых, которые представляют возникновение сигнала, и я пытаюсь добавить столбец, который показывает количество последовательных строк Если мои данные выглядят так 724 727 728 733 735 737 743 747 749 результирующие данные с последовательным столбцом подсчета строк будут выглядеть следующим образом 724 1 727 1 728 …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.