我是这里的新手,也是hiveql的新手。我想问一下如何在hiveql中为每个数据值范围显示一定数量的数据?例如,我有一组数据:
Name Age
A 34
B 38
C 39
D 35
E 26
F 34
G 34
H 26
I 27
J 27
K 30
L 31
M 42
N 39
O 37
P 22
Q 19
R 20
S 40
我只想显示16-25岁,26-35岁,36-45岁年龄组的三个人(显示他们的名字+年龄)。如果你不介意的话,请你简单地解释一下分区,因为我对这一部分没有很好的理解。
非常感谢!
1条答案
按热度按时间czq61nw11#
你可以试试这样的。
我把年龄分为16-25岁变成20岁,26-35岁变成30岁等等。所使用的分区按年龄分组,并按不同的行号给每个分组。在这种情况下,如果20多岁年龄组有4条记录,那么使用partition by子句,它将给出1,2,3,4行数;如果30多岁年龄组有3条记录,它将给出1,2,3行数。最后对每组有3行以上的行进行过滤。