今天遇到一个问题,是hive中排序问题,问题是对数字排序是按照首个数字先排序的,但想要的结果是对整个数字排序。
原因是我那个字段类型是String类型的,只有整形才可以直接对整个数字排序,String类型是先排序第一列,然后接着第二列的排序…
解决方案:在要排序的那个字段后面加上0就变成整形了,可以正常排序了,我这里是在order by n 后面 +0 就可以了。
select a.id,a.total_tech_point n
from xxdb.xxtable1 a
join
(
select id
from xxdb.xxtable2
where year = ‘2018’
and month = ‘07’
)b on(a.id=b.id)
group by a.id,a.total_tech_point
order by n+0 desc
limit 10
hive表中数字排序按照了首个数字先排序
最新推荐文章于 2024-04-13 22:19:13 发布