Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
37
Task/Forward-difference/SQL/forward-difference.sql
Normal file
37
Task/Forward-difference/SQL/forward-difference.sql
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
WITH RECURSIVE
|
||||
T0 (N, ITEM, LIST, NEW_LIST) AS
|
||||
(
|
||||
SELECT 1,
|
||||
NULL,
|
||||
'90,47,58,29,22,32,55,5,55,73' || ',',
|
||||
NULL
|
||||
UNION ALL
|
||||
SELECT CASE
|
||||
WHEN SUBSTR(LIST, INSTR(LIST, ',') + 1, LENGTH(LIST)) = ''
|
||||
THEN N + 1
|
||||
ELSE N
|
||||
END,
|
||||
CASE
|
||||
WHEN SUBSTR(LIST, INSTR(LIST, ',') + 1, LENGTH(LIST)) <> ''
|
||||
THEN SUBSTR(LIST, 1, INSTR(LIST, ',') - 1)
|
||||
ELSE NULL
|
||||
END,
|
||||
CASE
|
||||
WHEN SUBSTR(LIST, INSTR(LIST, ',') + 1, LENGTH(LIST)) = ''
|
||||
THEN IFNULL(NEW_LIST || (SUBSTR(LIST, 1, INSTR(LIST, ',') - 1) - ITEM) || ',', '')
|
||||
ELSE SUBSTR(LIST, INSTR(LIST, ',') + 1, LENGTH(LIST))
|
||||
END,
|
||||
CASE
|
||||
WHEN SUBSTR(LIST, INSTR(LIST, ',') + 1, LENGTH(LIST)) <> ''
|
||||
THEN IFNULL(NEW_LIST, '') || IFNULL((SUBSTR(LIST, 1, INSTR(LIST, ',') - 1) - ITEM) || ',', '')
|
||||
ELSE NULL
|
||||
END
|
||||
FROM T0
|
||||
WHERE INSTR(LIST, ',') > 0
|
||||
)
|
||||
SELECT N,
|
||||
TRIM(LIST, ',') LIST
|
||||
FROM T0
|
||||
WHERE NEW_LIST IS NULL
|
||||
AND LIST <> ''
|
||||
ORDER BY N;
|
||||
Loading…
Add table
Add a link
Reference in a new issue