-- https://github.com/ClickHouse/ClickHouse/issues/48308
SET allow_experimental_analyzer=1;
DROP TABLE IF EXISTS 03038_table;

CREATE TABLE 03038_table
(
    `time` DateTime
)
ENGINE = MergeTree
ORDER BY time;

SELECT *
FROM
(
    SELECT
        toUInt64(time) AS time,
        toHour(03038_table.time)
    FROM 03038_table
)
ORDER BY time ASC;

WITH subquery AS (
    SELECT
        toUInt64(time) AS time,
        toHour(03038_table.time)
    FROM 03038_table
)
SELECT *
FROM subquery
ORDER BY subquery.time ASC;

SELECT *
FROM
(
    SELECT
        toUInt64(time) AS time,
        toHour(03038_table.time) AS hour
    FROM 03038_table
)
ORDER BY time ASC, hour;

DROP TABLE IF EXISTS 03038_table;
