Clickhouse offset与fetch函数

本文介绍了如何在ClickHouse内存表test_fetch上使用OFFSET和FETCH限制查询结果,以及WITHTIES选项在ORDER BY后的应用。通过实例展示了如何获取特定范围内的数据并理解其在查询性能上的影响。
摘要由CSDN通过智能技术生成

关注微信公共号:小程在线

关注CSDN博客:程志伟的博客

 ClickHouse server version 21.6.6

OFFSET指定开始从查询结果集中返回行之前要跳过的行数。

FETCH指定查询结果中可以包含的最大行数。

WITH TIES选项用于根据ORDER BY子句返回结果集中最后一个位置的任何附加行。

dblab-VirtualBox :)CREATE TABLE test_fetch(a Int, b Int) ENGINE = Memory;

CREATE TABLE test_fetch
(
    `a` Int,
    `b` Int
)
ENGINE = Memory

Query id: ca402595-58fb-447a-9c70-f242b5eccc57

Ok.

0 rows in set. Elapsed: 0.005 sec.

dblab-VirtualBox :) INSERT INTO test_fetch VALUES(1,1),(2,1),(3,4),(1,3),(5,4),(0,6),(5,7);

INSERT INTO test_fetch VALUES

Query id: 73d70ac5-eaaf-4a51-beae-a39efd24f367

Ok.

7 rows in set. Elapsed: 0.004 sec. 

dblab-VirtualBox :) select * from test_fetch;

SELECT *
FROM test_fetch

Query id: eb8c4d73-20d3-48be-a6d8-a4babc066796

┌─a─┬─b─┐
│ 1 │ 1 │
│ 2 │ 1 │
│ 3 │ 4 │
│ 1 │ 3 │
│ 5 │ 4 │
│ 0 │ 6 │
│ 5 │ 7 │
└───┴───┘

7 rows in set. Elapsed: 0.004 sec.

dblab-VirtualBox :) SELECT * FROM test_fetch ORDER BY a OFFSET 3 ROW FETCH FIRST 3 ROWS ONLY;

SELECT *
FROM test_fetch
ORDER BY a ASC
LIMIT 3, 3

Query id: 33ae7ab9-b0e3-486c-8a11-b4e02da65f44

┌─a─┬─b─┐
│ 2 │ 1 │
│ 3 │ 4 │
│ 5 │ 7 │
└───┴───┘

3 rows in set. Elapsed: 0.008 sec. 

dblab-VirtualBox :) SELECT * FROM test_fetch ORDER BY a OFFSET 3 ROW FETCH FIRST 3 ROWS WITH TIES;

SELECT *
FROM test_fetch
ORDER BY a ASC
LIMIT 3, 3
 WITH TIES

Query id: 8dcd558c-3d26-4415-9b46-a7bad81e0399

┌─a─┬─b─┐
│ 2 │ 1 │
│ 3 │ 4 │
│ 5 │ 4 │
│ 5 │ 7 │
└───┴───┘

4 rows in set. Elapsed: 0.004 sec.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值