This commit is contained in:
Alexey Milovidov 2023-07-22 19:53:16 +02:00
parent b73ec36f68
commit afdda489bd
2 changed files with 42 additions and 42 deletions

View File

@ -1,36 +1,36 @@
┌─id─┬─name──┬─department─┬─salary─┐ ┌─id─┬─name───────────┬─department─┬─salary─┐
│ 25 │ Frank │ it │ 120 │ │ 25 │ Frank │ it │ 120 │
│ 23 │ Henry │ it │ 104 │ │ 23 │ Henry or Irene │ it │ 104 │
│ 24 │ Irene │ it │ 104 │ │ 24 │ Henry or Irene │ it │ 104 │
│ 33 │ Alice │ sales │ 100 │ │ 33 │ Alice │ sales │ 100 │
│ 32 │ Dave │ sales │ 96 │ │ 32 │ Dave or Cindy │ sales │ 96 │
└────┴───────┴────────────┴────────┘ └────┴────────────────┴────────────┴────────┘
┌─id─┬─name──┬─department─┬─salary─┐ ┌─id─┬─name───────────┬─department─┬─salary─┐
│ 25 │ Frank │ it │ 120 │ │ 25 │ Frank │ it │ 120 │
│ 23 │ Henry │ it │ 104 │ │ 23 │ Henry or Irene │ it │ 104 │
│ 24 │ Irene │ it │ 104 │ │ 24 │ Henry or Irene │ it │ 104 │
│ 33 │ Alice │ sales │ 100 │ │ 33 │ Alice │ sales │ 100 │
│ 32 │ Dave │ sales │ 96 │ │ 32 │ Dave or Cindy │ sales │ 96 │
└────┴───────┴────────────┴────────┘ └────┴────────────────┴────────────┴────────┘
┌─id─┬─name──┬─department─┬─salary─┐ ┌─id─┬─name───────────┬─department─┬─salary─┐
│ 25 │ Frank │ it │ 120 │ │ 25 │ Frank │ it │ 120 │
│ 23 │ Henry │ it │ 104 │ │ 23 │ Henry or Irene │ it │ 104 │
│ 24 │ Irene │ it │ 104 │ │ 24 │ Henry or Irene │ it │ 104 │
│ 33 │ Alice │ sales │ 100 │ │ 33 │ Alice │ sales │ 100 │
│ 31 │ Cindy │ sales │ 96 │ │ 31 │ Dave or Cindy │ sales │ 96 │
│ 32 │ Dave │ sales │ 96 │ │ 32 │ Dave or Cindy │ sales │ 96 │
└────┴───────┴────────────┴────────┘ └────┴────────────────┴────────────┴────────┘
┌─id─┬─name──┬─department─┬─salary─┐ ┌─id─┬─name──────────┬─department─┬─salary─┐
│ 33 │ Alice │ sales │ 100 │ │ 33 │ Alice │ sales │ 100 │
│ 31 │ Cindy │ sales │ 96 │ │ 31 │ Dave or Cindy │ sales │ 96 │
│ 32 │ Dave │ sales │ 96 │ │ 32 │ Dave or Cindy │ sales │ 96 │
│ 22 │ Grace │ it │ 90 │ │ 22 │ Grace │ it │ 90 │
│ 21 │ Emma │ it │ 84 │ │ 21 │ Emma │ it │ 84 │
└────┴───────┴────────────┴────────┘ └────┴───────────────┴────────────┴────────┘
┌─id─┬─name──┬─department─┬─salary─┐ ┌─id─┬─name──────────┬─department─┬─salary─┐
│ 33 │ Alice │ sales │ 100 │ │ 33 │ Alice │ sales │ 100 │
│ 31 │ Cindy │ sales │ 96 │ │ 31 │ Dave or Cindy │ sales │ 96 │
│ 32 │ Dave │ sales │ 96 │ │ 32 │ Dave or Cindy │ sales │ 96 │
│ 22 │ Grace │ it │ 90 │ │ 22 │ Grace │ it │ 90 │
│ 21 │ Emma │ it │ 84 │ │ 21 │ Emma │ it │ 84 │
└────┴───────┴────────────┴────────┘ └────┴───────────────┴────────────┴────────┘

View File

@ -1,33 +1,33 @@
-- https://antonz.org/sql-fetch/ -- https://antonz.org/sql-fetch/
CREATE TEMPORARY TABLE employees (id UInt64, name String, department String, salary UInt64); CREATE TEMPORARY TABLE employees (id UInt64, name String, department String, salary UInt64);
INSERT INTO employees VALUES (23, 'Henry', 'it', 104), (24, 'Irene', 'it', 104), (25, 'Frank', 'it', 120), (31, 'Cindy', 'sales', 96), (33, 'Alice', 'sales', 100), (32, 'Dave', 'sales', 96), (22, 'Grace', 'it', 90), (21, 'Emma', 'it', '84'); INSERT INTO employees VALUES (23, 'Henry', 'it', 104), (24, 'Irene', 'it', 104), (25, 'Frank', 'it', 120), (31, 'Cindy', 'sales', 96), (33, 'Alice', 'sales', 100), (32, 'Dave', 'sales', 96), (22, 'Grace', 'it', 90), (21, 'Emma', 'it', 84);
-- Determinism -- Determinism
SET max_threads = 1, parallelize_output_from_storages = 0; SET max_threads = 1, parallelize_output_from_storages = 0;
select * from (SELECT * FROM employees ORDER BY id, name, department, salary) select id, transform(name, ['Henry', 'Irene', 'Dave', 'Cindy'], ['Henry or Irene', 'Henry or Irene', 'Dave or Cindy', 'Dave or Cindy']) AS name, department, salary from (SELECT * FROM employees ORDER BY id, name, department, salary)
order by salary desc order by salary desc
limit 5 limit 5
format PrettyCompactNoEscapes; format PrettyCompactNoEscapes;
select * from (SELECT * FROM employees ORDER BY id, name, department, salary) select id, transform(name, ['Henry', 'Irene', 'Dave', 'Cindy'], ['Henry or Irene', 'Henry or Irene', 'Dave or Cindy', 'Dave or Cindy']) AS name, department, salary from (SELECT * FROM employees ORDER BY id, name, department, salary)
order by salary desc order by salary desc
fetch first 5 rows only fetch first 5 rows only
format PrettyCompactNoEscapes; format PrettyCompactNoEscapes;
select * from (SELECT * FROM employees ORDER BY id, name, department, salary) select id, transform(name, ['Henry', 'Irene', 'Dave', 'Cindy'], ['Henry or Irene', 'Henry or Irene', 'Dave or Cindy', 'Dave or Cindy']) AS name, department, salary from (SELECT * FROM employees ORDER BY id, name, department, salary)
order by salary desc order by salary desc
fetch first 5 rows with ties fetch first 5 rows with ties
format PrettyCompactNoEscapes; format PrettyCompactNoEscapes;
select * from (SELECT * FROM employees ORDER BY id, name, department, salary) select id, transform(name, ['Henry', 'Irene', 'Dave', 'Cindy'], ['Henry or Irene', 'Henry or Irene', 'Dave or Cindy', 'Dave or Cindy']) AS name, department, salary from (SELECT * FROM employees ORDER BY id, name, department, salary)
order by salary desc order by salary desc
offset 3 rows offset 3 rows
fetch next 5 rows only fetch next 5 rows only
format PrettyCompactNoEscapes; format PrettyCompactNoEscapes;
select * from (SELECT * FROM employees ORDER BY id, name, department, salary) select id, transform(name, ['Henry', 'Irene', 'Dave', 'Cindy'], ['Henry or Irene', 'Henry or Irene', 'Dave or Cindy', 'Dave or Cindy']) AS name, department, salary from (SELECT * FROM employees ORDER BY id, name, department, salary)
order by salary desc order by salary desc
offset 3 rows offset 3 rows
fetch first 5 rows only fetch first 5 rows only