order by added for quieries with limit

This commit is contained in:
Denis Zhuravlev 2020-09-20 19:43:19 -03:00
parent fe0f8117af
commit aa25df9d45

View File

@ -16,40 +16,40 @@ select '---------------------------';
set empty_result_for_aggregation_by_empty_set = 0;
WITH test1 AS (SELECT number-1 as n FROM numbers(42))
WITH test1 AS (SELECT number-1 as n FROM numbers(42))
SELECT max(n+1)+1 z FROM test1;
WITH test1 AS (SELECT number-1 as n FROM numbers(42))
WITH test1 AS (SELECT number-1 as n FROM numbers(42))
SELECT max(n+1)+1 z FROM test1 join test1 x using n having z - 1 = (select min(n-1)+41 from test1) + 2;
WITH test1 AS (SELECT number-1 as n FROM numbers(4442) limit 100)
WITH test1 AS (SELECT number-1 as n FROM numbers(4442) order by n limit 100)
SELECT max(n) FROM test1 where n=422;
WITH test1 AS (SELECT number-1 as n FROM numbers(4442) limit 100)
WITH test1 AS (SELECT number-1 as n FROM numbers(4442) order by n limit 100)
SELECT max(n) FROM test1 where n=42;
drop table if exists with_test ;
create table with_test engine=Memory as select cast(number-1 as Nullable(Int64)) n from numbers(10000);
WITH test1 AS (SELECT n FROM with_test where n <= 40)
WITH test1 AS (SELECT n FROM with_test where n <= 40)
SELECT max(n+1)+1 z FROM test1 join test1 x using (n) having max(n+1)+1 - 1 = (select min(n-1)+41 from test1) + 2;
WITH test1 AS (SELECT n FROM with_test where n <= 40)
WITH test1 AS (SELECT n FROM with_test where n <= 40)
SELECT max(n+1)+1 z FROM test1 join test1 x using (n) having z - 1 = (select min(n-1)+41 from test1) + 2;
WITH test1 AS (SELECT n FROM with_test limit 100)
WITH test1 AS (SELECT n FROM with_test order by n limit 100)
SELECT max(n) FROM test1 where n=422;
WITH test1 AS (SELECT n FROM with_test limit 100)
WITH test1 AS (SELECT n FROM with_test order by n limit 100)
SELECT max(n) FROM test1 where n=42;
WITH test1 AS (SELECT n FROM with_test where n = 42 limit 100)
WITH test1 AS (SELECT n FROM with_test where n = 42 order by n limit 100)
SELECT max(n) FROM test1 where n=42;
WITH test1 AS (SELECT n FROM with_test where n = 42 or 1=1 limit 100)
WITH test1 AS (SELECT n FROM with_test where n = 42 or 1=1 order by n limit 100)
SELECT max(n) FROM test1 where n=42;
WITH test1 AS (SELECT n, null as b FROM with_test where n = 42 or b is null limit 100)
WITH test1 AS (SELECT n, null as b FROM with_test where n = 42 or b is null order by n limit 100)
SELECT max(n) FROM test1 where n=42;
WITH test1 AS (SELECT n, null b FROM with_test where b is null)
@ -61,14 +61,13 @@ SELECT max(n) FROM test1 where n=45;
WITH test1 AS (SELECT n, null b FROM with_test where b is null and n = 42)
SELECT max(n) FROM test1 where n=45;
WITH test1 AS (SELECT n, null b FROM with_test where 1=1 and n = 42)
WITH test1 AS (SELECT n, null b FROM with_test where 1=1 and n = 42 order by n)
SELECT max(n) FROM test1 where n=45;
WITH test1 AS (SELECT n, null b, n+1 m FROM with_test where 1=0 or n = 42 limit 4)
WITH test1 AS (SELECT n, null b, n+1 m FROM with_test where 1=0 or n = 42 order by n limit 4)
SELECT max(n) m FROM test1 where test1.m=43 having max(n)=42;
WITH test1 AS (SELECT n, null b, n+1 m FROM with_test where n = 42 limit 4)
WITH test1 AS (SELECT n, null b, n+1 m FROM with_test where n = 42 order by n limit 4)
SELECT max(n) m FROM test1 where b is null and test1.m=43 having m=42 limit 4;
drop table with_test ;