选择配置单元中的前2行

h9vpoimq  于 2021-06-02  发布在  Hadoop
关注(0)|答案(3)|浏览(229)

我正在尝试根据配置单元(版本0.11)中的薪资从员工列表中检索前两个表。既然它不支持top函数,有没有其他选择?或者我们要定义一个自定义项?

x7yiwoj4

x7yiwoj41#

是的,这里你可以用 LIMIT .
您可以通过以下查询进行尝试:

SELECT * FROM employee_list SORT BY salary DESC LIMIT 2
s8vozzvw

s8vozzvw2#

在这里我认为值得一提 SORT BY 以及 ORDER BY 两个条款及其不同之处,

SELECT * FROM <table_name> SORT BY <column_name> DESC LIMIT 2

如果您正在使用 SORT BY 子句,它按reducer对数据进行排序,这意味着如果您有多个mapreduce任务,它将生成部分排序的数据。另一方面 ORDER BY 子句将生成最终reduce任务的有序数据。欲了解更多信息,请参阅此链接。

SELECT * FROM <table_name> ORDER BY <column_name> DESC LIMIT 2

注意:最后,即使接受的答案包含 SORT BY 子句,我更喜欢使用 ORDER BY 用于一般用例的子句,以避免任何数据丢失。

amrnrhlw

amrnrhlw3#

select * from employee_list order by salary desc limit 2;

相关问题