请教下这个 hive 语句哪里有问题吗

2018-11-30 18:33:18 +08:00
 DongDongXie
select MAX(fea),MIN(fea) from (select CAST(split(features,',')[0] as INT) as fea from tmp.app_product limit 10) t;

features 是一个以,分割的字符串,我要做的就是取分割后第一个值的最大值和最小值,但是最后执行出来的结果不对啊,我把 limit 10 的原始数据打开看了,和最后这查询的结果不一致,请问为什么会这样

2563 次点击
所在节点    MySQL
5 条回复
zhusimaji
2018-11-30 18:47:47 +08:00
看起来没啥问题,limit10 是随机取数出来,你确定你验证的数据前后一致?
DongDongXie
2018-11-30 23:55:05 +08:00
@zhusimaji limit 是随机取么?不是取前多少条么
cyspy
2018-12-01 12:10:39 +08:00
数据库保证有序的话还要 ORDER BY 干什么
zhusimaji
2018-12-01 16:26:00 +08:00
@DongDongXie 嗯,你最好生成一个临时表保存部分数据然后在验证你的 sql,就像楼下说的如果顺序全部都有序就不需要 order by 了
DongDongXie
2018-12-01 19:04:39 +08:00
@cyspy s 什么意思,怎么操作,想半天没想明白为啥两个结果不一样

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/513164

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX