text: DROP TABLE IF EXISTS t_02147;
  DROP TABLE IF EXISTS t_02147_dist;
  DROP TABLE IF EXISTS t_02147_merge;
  
  CREATE TABLE t_02147 (date DateTime, v UInt32)
  ENGINE = MergeTree ORDER BY toStartOfHour(date);
  
  CREATE TABLE t_02147_dist AS t_02147 ENGINE = Distributed(test_shard_localhost, currentDatabase(), t_02147);
  CREATE TABLE t_02147_merge AS t_02147 ENGINE = Merge(currentDatabase(), 't_02147');
  
  SET optimize_monotonous_functions_in_order_by = 1;
  
  EXPLAIN SYNTAX SELECT * FROM t_02147 ORDER BY toStartOfHour(date), v;
  EXPLAIN SYNTAX SELECT * FROM t_02147_dist ORDER BY toStartOfHour(date), v;
  EXPLAIN SYNTAX SELECT * FROM t_02147_merge ORDER BY toStartOfHour(date), v;
  