ClickHouse 的limit by的使用例子

在ClickHouse里,增加了一个limit by部分,区别于mysql的limit 在最终结果集的行数限制,这个limit by是对by字段,每个值保留对应的行数。

样例

数据

一共三行,其中birthday的有2个。

gbase_rh7_001 :) select * from t1;

SELECT *
FROM t1

Query id: acdb8771-7471-4897-849c-b613b0edd194

┌─id─┬─name───┬───birthday─┐
│  1 │ First  │ 2011-01-01 │
│  2 │ Second │ 2012-02-02 │
│  3 │ Second │ 2011-01-01 │
└────┴────────┴────────────┘

3 rows in set. Elapsed: 0.004 sec.


下面查询,每个生日的第一个人

也就是,每个birthday,只保留1个。

gbase_rh7_001 :) select * from t1 limit 1 by birthday;

SELECT *
FROM t1
LIMIT 1 BY birthday

Query id: 479cc5ea-abee-4ff6-a5b6-ffb208efc730

┌─id─┬─name───┬───birthday─┐
│  1 │ First  │ 2011-01-01 │
│  2 │ Second │ 2012-02-02 │
└────┴────────┴────────────┘

2 rows in set. Elapsed: 0.002 sec.

gbase_rh7_001 :) select * from t1 limit 1 by birthday;