我正在尝试根据配置单元(版本0.11)中的薪资从员工列表中检索前两个表。既然它不支持top函数,有没有其他选择?或者我们要定义一个自定义项?
x7yiwoj41#
是的,这里你可以用 LIMIT .您可以通过以下查询进行尝试:
LIMIT
SELECT * FROM employee_list SORT BY salary DESC LIMIT 2
s8vozzvw2#
在这里我认为值得一提 SORT BY 以及 ORDER BY 两个条款及其不同之处,
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 用于一般用例的子句,以避免任何数据丢失。
amrnrhlw3#
select * from employee_list order by salary desc limit 2;
3条答案
按热度按时间x7yiwoj41#
是的,这里你可以用
LIMIT
.您可以通过以下查询进行尝试:
s8vozzvw2#
在这里我认为值得一提
SORT BY
以及ORDER BY
两个条款及其不同之处,如果您正在使用
SORT BY
子句,它按reducer对数据进行排序,这意味着如果您有多个mapreduce任务,它将生成部分排序的数据。另一方面ORDER BY
子句将生成最终reduce任务的有序数据。欲了解更多信息,请参阅此链接。注意:最后,即使接受的答案包含
SORT BY
子句,我更喜欢使用ORDER BY
用于一般用例的子句,以避免任何数据丢失。amrnrhlw3#