Impala中的limit子句用于将结果集的行数限制为所需的数,即查询的结果集不包含超过指定限制的记录。
语法
以下是Impala中Limit子句的语法。
select * from table_name Order by id limit numerical_expression;
例
假设我们在数据库my_db中有一个名为customers的表,其内容如下 –
[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
您可以使用order by子句按照id的升序排列表中的记录,如下所示。
[quickstart.cloudera:21000] > select * from customers order by id;Query: select * from customers order by id+----+----------+-----+-----------+--------+| 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|| 5| Hardik| 27| Bhopal| 40000|| 6| Komal| 22| MP| 32000|| 7| ram| 25| chennai| 23000|| 8| ram| 22| vizag| 31000|| 9| robert| 23| banglore| 28000|+----+----------+-----+-----------+--------+Fetched 9 row(s) in 0.54s
现在,使用limit子句,您可以将输出的记录数限制为4,使用limit子句如下所示。
[quickstart.cloudera:21000] > select * from customers order by id limit 4;

执行时,上述查询给出以下输出。
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
发表评论