Size: a a a

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

2020 July 18

VP

Vladyslav Pysmennyi in SqlCom.ru - Стиль жизни SQL
да
источник

A

Alex in SqlCom.ru - Стиль жизни SQL
А если так:
Id, rate
1, 46
2, 1.5
3, 1.54

Всё равно 1, 2?
источник

VP

Vladyslav Pysmennyi in SqlCom.ru - Стиль жизни SQL
если перейти по ссылке sqlfiddle, там условие sum(rate) > 47.55, нужно sum(rate) <= 47.55, ошибочка
источник

VP

Vladyslav Pysmennyi in SqlCom.ru - Стиль жизни SQL
да, 1,2 тоже
источник

VP

Vladyslav Pysmennyi in SqlCom.ru - Стиль жизни SQL
<= даже
источник

OM

Oleg Makarikhin in SqlCom.ru - Стиль жизни SQL
в подзапрос напишите
sum (rate) OVER (partition by sometype order by id) AS cummulative_sum
потом внешний запрос из него пусть фильтрует по этому полю
источник

A

Alex in SqlCom.ru - Стиль жизни SQL
select t.id
From (
Select
t.id, t.rate, sum(t.rate) over (order by t.rate) as total
From tbl t
) t
Where t.total<=47.55
Order by t.id
источник

A

Alex in SqlCom.ru - Стиль жизни SQL
Oleg Makarikhin
в подзапрос напишите
sum (rate) OVER (partition by sometype order by id) AS cummulative_sum
потом внешний запрос из него пусть фильтрует по этому полю
Угу
источник

VP

Vladyslav Pysmennyi in SqlCom.ru - Стиль жизни SQL
ок, спасибо, буду разбираться
источник

AE

Andrey E in SqlCom.ru - Стиль жизни SQL
Подскажите плиз как удаление из базы происходит?
источник

AE

Andrey E in SqlCom.ru - Стиль жизни SQL
Если я правильно помню, delete не удаляет на самом деле данные тока помечает как удаленные
источник

AE

Andrey E in SqlCom.ru - Стиль жизни SQL
Тогда если я в цикле буду создавать и удалять запись, то база разрастется
источник

AE

Andrey E in SqlCom.ru - Стиль жизни SQL
Какие механизмы есть чтобы типа ужать базу?
источник

AE

Andrey E in SqlCom.ru - Стиль жизни SQL
Или это не так работает?
источник

A

Alex in SqlCom.ru - Стиль жизни SQL
В sql server есть такой механизм, как shrink database, но считается, что его осторожно надо использовать, особенно, если это не хранилище, а oltp. Как раз делает, что вам нужно - освобождает место на диске, зарезервированное, но не используемое бд.
источник

YS

Yaroslav Schekin in SqlCom.ru - Стиль жизни SQL
Andrey E
Тогда если я в цикле буду создавать и удалять запись, то база разрастется
Ну и что? Насколько-то разрастётся, а потом это место всё равно пригодится, скорее всего.
В а версионных режимах работы — да, как-то так. См. https://docs.microsoft.com/en-us/sql/relational-databases/ghost-record-cleanup-process-guide?view=sql-server-ver15
источник

AE

Andrey E in SqlCom.ru - Стиль жизни SQL
Спасибо
источник
2020 July 19

M

Mikhail in SqlCom.ru - Стиль жизни SQL
Коллеги, привет! Подскажите пож-ста, как запросить:

есть таблица вида, как на скриншоте. Необходимо написать запрос, выводящий топ-5 скю по выручке для каждого клиента в каждый год (вывод в виде: Год, Клиент, скю)

Спасибо
источник

OM

Oleg Makarikhin in SqlCom.ru - Стиль жизни SQL
Mikhail
Коллеги, привет! Подскажите пож-ста, как запросить:

есть таблица вида, как на скриншоте. Необходимо написать запрос, выводящий топ-5 скю по выручке для каждого клиента в каждый год (вывод в виде: Год, Клиент, скю)

Спасибо
подзапрос, у которого вспомогательное поле
select  ROW_NUMBER () OVER ( PARTITION BY год, клиент order by выручка desc )  as rating_in_group
а внешний запрос из него where rating_in_group <= 5
источник
2020 July 20

YB

Yury Bor in SqlCom.ru - Стиль жизни SQL
День добрый.
Генерится запрос по 5 полям. Если в запрос попадает одно поле со значением null, то как его проигнорировать? Чтобы вместо null было подставлено любое число.
Если поля p1=2 и p2=5, то получу все строки, где есть такое сочетание.
А если p1=2 и p2=null, то нужен вывод в котором совпадения только по полю p1 учитываются.
источник