Size: a a a

SqlCom.ru - Стиль жизни SQL

2020 November 15

AG

Andrey Gubanov in SqlCom.ru - Стиль жизни SQL
Добрый вечер! Помогите нубу плиз - как вот такое решить? 1) Описание данных:  таблица OFFERS содержит информацию о кредитных предложениях клиентов банка. У каждого предложения есть идентификатор (offer_id), дата начала действия (offer_start_date), дата окончания действия (offer_expiration_date). Предложение считается действующим на дату dt, если dt находится между offer_start_date и offer_expiration_date для данного предложения.
Задание: вывести количество действующих предложений на каждый день 2018 года.
источник

ДВ

Дмитрий Владимирович... in SqlCom.ru - Стиль жизни SQL
Dmitriy Kostarev
Здравствуйте подскажите как решить. Есть столбец с 0 и 1, необходимо посчитать  длинну каждой серии из 0 после которой следует 1
CREATE TABLE #T21
(F1 BIT)
INSERT INTO #T21
VALUES (0),(0),(0),(0),(0),(0),(0),(0),(1),(0),(0),(0),(0),(0),(0),(0),(1),(0),(0),(1),
(0),(0),(0),(0),(0),(0),(1)


SELECT *,
       ISNULL(rn - LAG(RN) OVER(ORDER BY RN ASC),0) countResult
FROM
(
SELECT
       ROW_NUMBER() OVER(ORDER BY f2 ASC) RN
 ,*
FROM
  (SELECT *,
         '1' f2
   FROM
  #T21) tMain  )
  tMain2
WHERE
  rn = 1 OR f1 = 1
источник

ДВ

Дмитрий Владимирович... in SqlCom.ru - Стиль жизни SQL
На коленке
источник

ДВ

Дмитрий Владимирович... in SqlCom.ru - Стиль жизни SQL
Andrey Gubanov
Добрый вечер! Помогите нубу плиз - как вот такое решить? 1) Описание данных:  таблица OFFERS содержит информацию о кредитных предложениях клиентов банка. У каждого предложения есть идентификатор (offer_id), дата начала действия (offer_start_date), дата окончания действия (offer_expiration_date). Предложение считается действующим на дату dt, если dt находится между offer_start_date и offer_expiration_date для данного предложения.
Задание: вывести количество действующих предложений на каждый день 2018 года.
DROP TABLE IF EXISTS  #tOffers
CREATE TABLE #tOffers(
offerID BIGINT IDENTITY(1,1),
offerStartDate DATETIME,
offerEndDate DATETIME)
INSERT INTO #tOffers
VALUES ('20180101','20180304'),
('20180105','20180415'),
('20180205','20180410'),
('20180305','20180715');


;with dates(d) as (
select cast('20180101' as datetime)
union all
select dateadd(day, 1, d) as d from dates where d<='20181230'
)
SELECT t1.d,COUNT(offerid)
FROM
 dates  t1
LEFT JOIN
#tOffers t2
ON
 t1.d
 BETWEEN
 t2.offerStartDate AND t2.offerEndDate
group by d OPTION (MAXRECURSION 32767) ;
источник

AG

Andrey Gubanov in SqlCom.ru - Стиль жизни SQL
Дмитрий спасибо!
источник

DK

Dmitriy Kostarev in SqlCom.ru - Стиль жизни SQL
Дмитрий Владимирович
Добрый день. Столбец BIT? Сортировка по умолчанию? Длинна - кол-во строк?
Ещё что то общее есть у каждого набора строк с пометкой 0? Id может какой-то, или значение столбцов? Если есть можно решить одним запросом через оконные функции
Столбец int, строк 40к,  в строках id, у каждого id свой набор строк с 0 и 1( id 1 0
              id 1 0
              id 1 1
              id 2 0
              id 2 0)
Промежутки из 0 надо считать в рамках одного id, по каждому id
источник

G

Gopneg in SqlCom.ru - Стиль жизни SQL
Дмитрий Владимирович
DROP TABLE IF EXISTS  #tOffers
CREATE TABLE #tOffers(
offerID BIGINT IDENTITY(1,1),
offerStartDate DATETIME,
offerEndDate DATETIME)
INSERT INTO #tOffers
VALUES ('20180101','20180304'),
('20180105','20180415'),
('20180205','20180410'),
('20180305','20180715');


;with dates(d) as (
select cast('20180101' as datetime)
union all
select dateadd(day, 1, d) as d from dates where d<='20181230'
)
SELECT t1.d,COUNT(offerid)
FROM
 dates  t1
LEFT JOIN
#tOffers t2
ON
 t1.d
 BETWEEN
 t2.offerStartDate AND t2.offerEndDate
group by d OPTION (MAXRECURSION 32767) ;
устраняешь потенциальных конкурентов? зачем ты за студента решаешь? он даже ведь попросил помочь, а не решить за него
источник

ДВ

Дмитрий Владимирович... in SqlCom.ru - Стиль жизни SQL
Dmitriy Kostarev
Столбец int, строк 40к,  в строках id, у каждого id свой набор строк с 0 и 1( id 1 0
              id 1 0
              id 1 1
              id 2 0
              id 2 0)
Промежутки из 0 надо считать в рамках одного id, по каждому id
Ну так, добавь атрибут в секции партиций и сортиповок и  все) мне видишь и так замечания уже пишут =)
источник

ДВ

Дмитрий Владимирович... in SqlCom.ru - Стиль жизни SQL
Gopneg
устраняешь потенциальных конкурентов? зачем ты за студента решаешь? он даже ведь попросил помочь, а не решить за него
Да ладно же)) это 5 ти минутки... Они в гугле все 100% есть)
Решить можно самыми разными методами,  не будешь же давать ссылку на MSDN... или курсер со словами "иди учи".
А так да, сначала гугл, если там не понятно или ничего не нашли - тогда сюда.
источник

FN

Fly N in SqlCom.ru - Стиль жизни SQL
Добрый вечер - буду рад любой помощи) Я новичок в Sqlite - поэтому сильно не пинайте. У меня такая проблема - есть 2 абсолютно разные, ничем не связанные таблицы(к примеру в одной 5 записей, а в другой - 3). Мне нужно одним запрсом вернуть все записи из обоих таблиц. Естественно, "SELECT * FROM chats,groups" вернет 15 записей, а мне нужно 8. Подскажите, в какую сторону копать?
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Fly N
Добрый вечер - буду рад любой помощи) Я новичок в Sqlite - поэтому сильно не пинайте. У меня такая проблема - есть 2 абсолютно разные, ничем не связанные таблицы(к примеру в одной 5 записей, а в другой - 3). Мне нужно одним запрсом вернуть все записи из обоих таблиц. Естественно, "SELECT * FROM chats,groups" вернет 15 записей, а мне нужно 8. Подскажите, в какую сторону копать?
Union
источник

FN

Fly N in SqlCom.ru - Стиль жизни SQL
Андрій
Union
Дело еще в том, что столбцы и их кол-во у таблиц разные
источник

А

Андрій in SqlCom.ru - Стиль жизни SQL
Fly N
Дело еще в том, что столбцы и их кол-во у таблиц разные
Ну и что , нуллами замени
Select *,null,null from t1 union all select * from t2
источник
2020 November 16

s

stanislav in SqlCom.ru - Стиль жизни SQL
Может кто-то помочь советом? Проблема с SSIS. Запускаем одновременно пару десятков джоб. В результате несколько джоб валятся. Валятся в случайном порядке. Джобы довольно простые, прочитать файл и положить результат в базу. На какие настройки SSIS стоит посмотреть чтобы оптимизировать выполнение? И можно ли это оптимизировать настройками?
источник

A

Alex in SqlCom.ru - Стиль жизни SQL
Вы бы хоть написали, с какими ошибками валятся джобы и причем тут SSIS. Вы SSIS-пакеты в шагах джобов запускаете? Если да, напишите текст ошибок из ssis-логов.
источник

s

stanislav in SqlCom.ru - Стиль жизни SQL
Вопрос больше про оптимизацию SSIS. Какие подходы есть к этому? Возможно ли это вообще?
источник

D

Dmitry in SqlCom.ru - Стиль жизни SQL
Коллеги, вопрос с позиции не dba, а системного администратора.
Есть задача - на ежедневной основе брать бекапы с одного сервера и раскатывать на тестовый.
Бекапы выполняются по плану - 1 еженедельный полный, остальные - дифференциальные.

Стал искать готовые решения. Есть похожие, например, на githab у Tavalik, но там регламент, когда в рамках одного сервера из базы в базу, на примере одной базы.

Может кто-то поделится хорошей линкой на что-то, приближенное, к моим реалиям?
Спасибо.
источник

KT

Konstantin Taranov in SqlCom.ru - Стиль жизни SQL
Dmitry
Коллеги, вопрос с позиции не dba, а системного администратора.
Есть задача - на ежедневной основе брать бекапы с одного сервера и раскатывать на тестовый.
Бекапы выполняются по плану - 1 еженедельный полный, остальные - дифференциальные.

Стал искать готовые решения. Есть похожие, например, на githab у Tavalik, но там регламент, когда в рамках одного сервера из базы в базу, на примере одной базы.

Может кто-то поделится хорошей линкой на что-то, приближенное, к моим реалиям?
Спасибо.
источник

D

Dmitry in SqlCom.ru - Стиль жизни SQL
Спасибо, сейчас посмотрю
источник

DP

Dmitriy Pomozov in SqlCom.ru - Стиль жизни SQL
Ребят подскажите плз по sql(я пробую через jupyter тетрадку и в крайнем случае через sqlite) - у нас есть имя и фамилия человека в 1 столбце. как найти такую фамилию которая встречает в себе 3 буквы s? Правильно понимаю, что подход через
 WHERE col LIKE '% [sss]' 
 - верный?
источник