开发手册 欢迎您!
软件开发者资料库

Impala - Offset子句

Impala Offset子句 - 从概述,环境,体系结构,Shell,查询语言基础,创建数据库,删除数据库,选择数据库,创建表语句,插入语句,选择语句,描述语句,更改表,删除,了解Impala表,截断表,显示表,创建视图,更改视图,删除视图,按条件排序,按条款分组,有条款,限制条款,抵消条款,联盟条款,条款,不同运营商。

通常, select 查询的结果集中的行从0开始.使用 offset 子句,我们可以决定应该考虑输出的位置.例如,如果我们选择偏移量为0,则结果将如常,如果我们选择偏移量为5,则结果从第五行开始.

Offset子句

语法

以下是偏移的语法Impala中的子句.

select data from table_name Group BY col_name;

示例

假设我们在数据库中有一个名为 customers 的表 my_db 及其内容如下 :

[quickstart.cloudera:21000] > select * from customers; Query: select * from customers +----+----------+-----+-----------+--------+ | id | name     | age | address   | salary | +----+----------+-----+-----------+--------+ | 3  | kaushik  | 23  | Kota      | 30000  | | 6  | Komal    | 22  | MP        | 32000  | | 1  | Ramesh   | 32  | Ahmedabad | 20000  | | 5  | Hardik   | 27  | Bhopal    | 40000  | | 2  | Khilan   | 25  | Delhi     | 15000  | | 8  | ram      | 22  | vizag     | 31000  | | 9  | robert   | 23  | banglore  | 28000  || 7  | ram      | 25  | chennai   | 23000  | | 4  | Chaitali | 25  | Mumbai    | 35000  | +----+----------+-----+-----------+--------+ Fetched 9 row(s) in 0.51s

您可以按照其ID的升序排列表中的记录并限制记录数到4,使用 limit order by 子句,如下所示.

Query: select * from customers order by id limit 4 +----+----------+-----+-----------+--------+ | id | name     | age | address   | salary | +----+----------+-----+-----------+--------+ | 1  | Ramesh   | 32  | Ahmedabad | 20000  | | 2  | Khilan   | 25  | Delhi     | 15000  | | 3  | kaushik  | 23  | Kota      | 30000  | | 4  | Chaitali | 25  | Mumbai    | 35000  | +----+----------+-----+-----------+--------+ Fetched 4 row(s) in 0.64s

以下是 offset 子句的示例.在这里,我们按照id的顺序获取 customers 表中的记录,并从0 th 行开始打印前四行.

[quickstart.cloudera:21000] > select * from customers order by id limit 4 offset 0;

执行时,上述查询给出以下结果.

Query: select * from customers order by id limit 4 offset 0 +----+----------+-----+-----------+--------+| id | name     | age | address   | salary | +----+----------+-----+-----------+--------+ | 1  | Ramesh   | 32  | Ahmedabad | 20000  | | 2  | Khilan   | 25  | Delhi     | 15000  | | 3  | kaushik  | 23  | Kota      | 30000  | | 4  | Chaitali | 25  | Mumbai    | 35000  | +----+----------+-----+-----------+--------+ Fetched 4 row(s) in 0.62s

以同样的方式,您可以从 customers 表中获取四个记录从具有偏移量5的行开始,如下所示.

[quickstart.cloudera:21000] > select * from customers order by id limit 4 offset 5; Query: select * from customers order by id limit 4 offset 5 +----+--------+-----+----------+--------+ | id | name   | age | address  | salary | +----+--------+-----+----------+--------+ | 6  | Komal  | 22  | MP       | 32000  | | 7  | ram    | 25  | chennai  | 23000  | | 8  | ram    | 22  | vizag    | 31000  || 9  | robert | 23  | banglore | 28000  | +----+--------+-----+----------+--------+ Fetched 4 row(s) in 0.52s