powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / SQL [закрыт для гостей] / Задачи с собеседования для базоёбов.
25 сообщений из 364, страница 8 из 15
Задачи с собеседования для базоёбов.
    #143014
Просто Трёп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто Трёп  09.09.2022, 15:45
[игнорируется]
Но мне этот over не нравится.
Но я запихал его в табличную функцию и забыл про него. Так что, в принципе, с этим можно работать.
...
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143017
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Doublekey  09.09.2022, 15:35
[игнорируется]
Redd  09.09.2022, 14:12
[игнорируется]
Doublekey  09.09.2022, 14:09
[игнорируется]
Redd  09.09.2022, 14:03
[игнорируется]
Дед-Папыхтет  09.09.2022, 13:48
[игнорируется]
...
Да намально и так сойдёт)
Ээ, одним, сложна сразу. Ты лучше сразу так не говори собеседование. Ну чтоб на взлете не гасить)
Поэтому ты и пиздоклюй-нищееб потому что тебе одним запросом сложно сразу. а еще на базовиков бочку катишь
Похел нахуй. Ты вообще не смог ничего.
Тебе блять ускоглазый еще показать?
Цитата 
[игнорируется]
WITH seq
AS
(
SELECT 1 AS [rn]
UNION ALL
SELECT rn+1
FROM seq
WHERE rn <101
),
tbl as
(
select '1123456543467' sstr
UNION ALL
select '121233445678'
UNION ALL
select '66767654354356789'
)

select sstr,sum(onenum) summ from
(
select sstr,rn, cast(substring(sstr,rn,1) as int) onenum from tbl, seq where seq.rn <= len(tbl.sstr)
) tt
group by sstr
и
Цитата 
[игнорируется]
WITH tbl as (
select '1123456543467' sstr FROM dual
UNION ALL
select '121233445678' FROM dual
UNION ALL
select '66767654354356789' FROM dual
)

select sstr, sum(to_number(substr(sstr,rn,1))) onn
from tbl,
(SELECT rownum as rn FROM dual CONNECT BY level <= 256) seq
where seq.rn <= length(tbl.sstr)
group by sstr
Касса закрыта, кино уже прошло. Билеты уже больше не продаются (иди внах со своим гавнокодом[:lol])
...
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143020
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Redd [игнорируется] 

Давай следующую задачу на собеседование базоебам
...
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143027
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  09.09.2022, 16:00
[игнорируется]
Redd [игнорируется] 

Давай следующую задачу на собеседование базоебам
Так ты дирехтор же! с понедельника лучше. Ща уже пятница, конец недели, не до этого)
...
Изменено: 09.09.2022, 16:03 - Redd
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143031
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правда мне ту по Прелести подвалило..
...
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143035
Doublekey
Поместить в игнор-лист Сообщения автора в теме
Участник
[скрыт]
[заблокирован]
Просто Трёп  09.09.2022, 15:45
[игнорируется]
Дед-Папыхтет  09.09.2022, 13:41
[игнорируется]
Doublekey  08.09.2022, 23:16
[игнорируется]
кстати а в скуль сервере разве нет псевдоколонки которая выводит порядковый номер строки?
select *,%%physloc%%
from dbo.test_table

некая альтернатива
Мне понадобилось сохранить порядок чисел в строке, и я забубенил именно row_number()
Код: SQL
1.
2.
3.
4.
5.
6.
declare @s nvarchar(2000)

select @s = '2,5,1,6'
DECLARE @xml XML = '<t>' + REPLACE(@s, ',', '</t><t>') + '</t>'

SELECT [rn] = row_number() over(order by (select null)), [id] = convert(int, P.N.value('.', 'varchar(100)')) FROM @xml.nodes('/t') P(N)
Но мне этот over не нравится. А без него роу_намбер не работает.
Я и говорю в оракле есть rownum но он правда ордер баем сбивается.
...
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143042
Doublekey
Поместить в игнор-лист Сообщения автора в теме
Участник
[скрыт]
[заблокирован]
Redd  09.09.2022, 15:59
[игнорируется]
Doublekey  09.09.2022, 15:35
[игнорируется]
Redd  09.09.2022, 14:12
[игнорируется]
Doublekey  09.09.2022, 14:09
[игнорируется]
Redd  09.09.2022, 14:03
[игнорируется]
...
Поэтому ты и пиздоклюй-нищееб потому что тебе одним запросом сложно сразу. а еще на базовиков бочку катишь
Похел нахуй. Ты вообще не смог ничего.
Тебе блять ускоглазый еще показать?
Цитата 
[игнорируется]
WITH seq
AS
(
SELECT 1 AS [rn]
UNION ALL
SELECT rn+1
FROM seq
WHERE rn <101
),
tbl as
(
select '1123456543467' sstr
UNION ALL
select '121233445678'
UNION ALL
select '66767654354356789'
)

select sstr,sum(onenum) summ from
(
select sstr,rn, cast(substring(sstr,rn,1) as int) onenum from tbl, seq where seq.rn <= len(tbl.sstr)
) tt
group by sstr
и
Цитата 
[игнорируется]
WITH tbl as (
select '1123456543467' sstr FROM dual
UNION ALL
select '121233445678' FROM dual
UNION ALL
select '66767654354356789' FROM dual
)

select sstr, sum(to_number(substr(sstr,rn,1))) onn
from tbl,
(SELECT rownum as rn FROM dual CONNECT BY level <= 256) seq
where seq.rn <= length(tbl.sstr)
group by sstr
Касса закрыта, кино уже прошло. Билеты уже больше не продаются (иди внах со своим гавнокодом[:lol])
Да и хер с тобой, я тебе первый вариант еще вчера писал, и также писал почему я не подорвался сходу вашу задачку решать.
Но то что кино прошло не меняет того что ты разраб-долбоклюй и нехуй тут щемить на базовиков.
...
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143044
Doublekey
Поместить в игнор-лист Сообщения автора в теме
Участник
[скрыт]
[заблокирован]
Redd  09.09.2022, 16:03
[игнорируется]
Дед-Папыхтет  09.09.2022, 16:00
[игнорируется]
Redd [игнорируется] 

Давай следующую задачу на собеседование базоебам
Так ты дирехтор же! с понедельника лучше. Ща уже пятница, конец недели, не до этого)
Попых не директор у него так только должность называется.
...
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143048
Doublekey
Поместить в игнор-лист Сообщения автора в теме
Участник
[скрыт]
[заблокирован]
Redd  09.09.2022, 16:03
[игнорируется]
Правда мне ту по Прелести подвалило..
Ну тогда работай иди. а то мало ли что с зп случипццо
...
Рейтинг: 1 / 0
Нравится: PaNik
Задачи с собеседования для базоёбов.
    #143055
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задачка №2. ))))) тоже лвл мидла наверное посложнее предыдущей немного, для тех кто не сталкивался.

Есть таблица T из одного поля TAB_NO с уникальными целыми числами, необходимо найти и вывести непрерывные диапазоны одним запросом ))))

пример
table t(tab_no int)

tab_no
1
2
3
7
8
10
15
16
17
18

результат должен быть:
start finish 1 3 7 8 10 10 15 18
...
Изменено: 09.09.2022, 16:13 - Дед-Папыхтет
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143061
9288
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага
Группировка по инварианту -- значение-<номер строки>
...
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143065
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
Дед-Папыхтет  09.09.2022, 16:12
[игнорируется]
10 10
это не диапазон
...
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143067
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNose  09.09.2022, 16:17
[игнорируется]
Дед-Папыхтет  09.09.2022, 16:12
[игнорируется]
10 10
это не диапазон
А что это? )))) и как единичное значение выводить в этой задаче? ))))
...
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143069
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
Дед-Папыхтет  09.09.2022, 16:17
[игнорируется]
eNose  09.09.2022, 16:17
[игнорируется]
Дед-Папыхтет  09.09.2022, 16:12
[игнорируется]
10 10
это не диапазон
А что это? )))) и как единичное значение выводить в этой задаче? ))))
никак

убрать!
...
Изменено: 09.09.2022, 16:18 - eNose
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143076
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
группировка нужна последовательных чисел
...
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143078
Doublekey
Поместить в игнор-лист Сообщения автора в теме
Участник
[скрыт]
[заблокирован]
Дед-Папыхтет  09.09.2022, 16:12
[игнорируется]
Задачка №2. ))))) тоже лвл мидла наверное посложнее предыдущей немного, для тех кто не сталкивался.

Есть таблица T из одного поля TAB_NO с уникальными целыми числами, необходимо найти и вывести непрерывные диапазоны одним запросом ))))

пример
table t(tab_no int)

tab_no
1
2
3
7
8
10
15
16
17
18

результат должен быть:
start finish 1 3 7 8 10 10 15 18
Lag и Lead по выбору если до лекции успею вздрочнуть и написать - напишу.
С помощью этих замечательных функций можно определить наличие разрывов в последовательности потому что они могут показать пердыдущее и последующее значение в столбце.
...
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143080
Doublekey
Поместить в игнор-лист Сообщения автора в теме
Участник
[скрыт]
[заблокирован]
eNose  09.09.2022, 16:18
[игнорируется]
Дед-Папыхтет  09.09.2022, 16:17
[игнорируется]
eNose  09.09.2022, 16:17
[игнорируется]
Дед-Папыхтет  09.09.2022, 16:12
[игнорируется]
10 10
это не диапазон
А что это? )))) и как единичное значение выводить в этой задаче? ))))
никак

убрать!
нихуя это диапазон из одного элемента.
...
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143085
eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
Doublekey  09.09.2022, 16:25
[игнорируется]
eNose  09.09.2022, 16:18
[игнорируется]
Дед-Папыхтет  09.09.2022, 16:17
[игнорируется]
eNose  09.09.2022, 16:17
[игнорируется]
Дед-Папыхтет  09.09.2022, 16:12
[игнорируется]
...
это не диапазон
А что это? )))) и как единичное значение выводить в этой задаче? ))))
никак

убрать!
нихуя это диапазон из одного элемента.
вырожденный интервал это называется

для выродков!

мы же не выродки, да?
...
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143111
Doublekey
Поместить в игнор-лист Сообщения автора в теме
Участник
[скрыт]
[заблокирован]
eNose  09.09.2022, 16:29
[игнорируется]
Doublekey  09.09.2022, 16:25
[игнорируется]
eNose  09.09.2022, 16:18
[игнорируется]
Дед-Папыхтет  09.09.2022, 16:17
[игнорируется]
eNose  09.09.2022, 16:17
[игнорируется]
...
А что это? )))) и как единичное значение выводить в этой задаче? ))))
никак

убрать!
нихуя это диапазон из одного элемента.
вырожденный интервал это называется

для выродков!

мы же не выродки, да?
нет выродки.
...
Изменено: 09.09.2022, 16:40 - Doublekey
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143116
9288
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
tst> with t as (select  1 x from dual union all
  2             select  2 from dual union all
  3             select  3 from dual union all
  4             select  7 from dual union all
  5             select  8 from dual union all
  6             select 10 from dual union all
  7             select 15 from dual union all
  8             select 16 from dual union all
  9             select 17 from dual union all
 10             select 18 from dual)
 11  select min(x), max(x)
 12  from (select x, rownum rn from (select x from t order by x))
 13  group by (x-rn)
 14  /

  MIN(X)   MAX(X)
-------- --------
       1        3
      10       10
       7        8
      15       18
Можно и просто аналитику вместо rownum и подзапроса с сортировкой заюзать

Тема же старая, заезженная, еще со старого сруля
...
Изменено: 09.09.2022, 16:42 - 9288
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143120
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
9288  09.09.2022, 16:42
[игнорируется]
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
ftctst> with t as (select  1 x from dual union all
  2             select  2 from dual union all
  3             select  3 from dual union all
  4             select  7 from dual union all
  5             select  8 from dual union all
  6             select 10 from dual union all
  7             select 15 from dual union all
  8             select 16 from dual union all
  9             select 17 from dual union all
 10             select 18 from dual)
 11  select min(x), max(x)
 12  from (select x, rownum rn from (select x from t order by x))
 13  group by (x-rn)
 14  /

  MIN(X)   MAX(X)
-------- --------
       1        3
      10       10
       7        8
      15       18
Можно и просто аналитику вместо rownum и подзапроса с сортировкой заюзать

Тема же старая, заезженная, еще со старого сруля
Ну да, просто ты знал решение, я его тоже знал из книжки Ицика-Бен-Гана... Но вот самостоятельно такое придумать не каждый осилит )
...
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143121
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Папыхтет  09.09.2022, 16:12
[игнорируется]
Задачка №2. ))))) тоже лвл мидла наверное посложнее предыдущей немного, для тех кто не сталкивался.

Есть таблица T из одного поля TAB_NO с уникальными целыми числами, необходимо найти и вывести непрерывные диапазоны одним запросом ))))

пример
table t(tab_no int)

tab_no
1
2
3
7
8
10
15
16
17
18

результат должен быть:
start finish 1 3 7 8 10 10 15 18
Вот [:smile]
Код: SQL
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
CREATE TABLE `ttt` (
  `num` INT(11) NULL DEFAULT NULL
)
COMMENT='test'
COLLATE='utf8_general_ci'
ENGINE=InnoDB;

INSERT INTO `ttt` (`num`) VALUES (1);
INSERT INTO `ttt` (`num`) VALUES (2);
INSERT INTO `ttt` (`num`) VALUES (3);
INSERT INTO `ttt` (`num`) VALUES (7);
INSERT INTO `ttt` (`num`) VALUES (8);
INSERT INTO `ttt` (`num`) VALUES (10);
INSERT INTO `ttt` (`num`) VALUES (15);
INSERT INTO `ttt` (`num`) VALUES (16);

SELECT
  num, pos
FROM
  (SELECT
  num,
  @pos := (SELECT num FROM ttt WHERE num > t1.num LIMIT 1),
  IF (num + 1 <> @pos, @pos, 0) AS pos
  FROM
  ttt t1) AS t
WHERE
pos > 0
...
Изменено: 09.09.2022, 16:44 - Redd
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143129
Redd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного не то, но точка разрыва найдена)
...
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143136
Doublekey
Поместить в игнор-лист Сообщения автора в теме
Участник
[скрыт]
[заблокирован]
Вот вам альфа версия. Наш убер пиздоклюй опять предложит крутить циклы в функциях с запоминанием?
Цитата 
[игнорируется]
WITH tbl as (
select 1 a from dual union all
select 2 a from dual union all
select 3 a from dual union all
select 7 a from dual union all
select 8 a from dual union all
select 10 a from dual union all
select 15 a from dual union all
select 16 a from dual union all
select 17 a from dual union all
select 18 a from dual
)

select t1.a start_, t2.a finish_ from
(select a, rownum r from (
select a, lag(a,1,-1) over (order by a) ld from tbl) a
where a-ld > 1) t1,

(select a,rownum r from (
select a, lead(a,1,999) over (order by a) ld from tbl) a
where ld-a >1) t2

where t1.r = t2.r
...
Рейтинг: 0 / 0
Задачи с собеседования для базоёбов.
    #143139
Doublekey
Поместить в игнор-лист Сообщения автора в теме
Участник
[скрыт]
[заблокирован]
Redd  09.09.2022, 16:47
[игнорируется]
Немного не то, но точка разрыва найдена)
ну опять ты сделал все по своем а не как надо :-)
...
Рейтинг: 0 / 0
25 сообщений из 364, страница 8 из 15
Форумы / SQL [закрыт для гостей] / Задачи с собеседования для базоёбов.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]