开发者社区> 问答> 正文

recordsreturned from subquery exceeded limit of **

MaxCompute SQL 中,使用 not in 后面接子查询,子查询返回的结果是上万级别的数据量,但语句中的子查询返回的col1的个数超过1000个时,系统会报错为 records returned from subquery exceeded limit of 1000。应该怎么去实现子查询限制1000呢?

展开
收起
montos 2020-05-27 16:22:53 2940 0
1 条回答
写回答
取消 提交回答
  • 可以使用left outer join实现来替代子查询实现。 子查询:SELECT * FROM table_a a WHERE a.col1 IN (SELECT col1 FROM table_b b WHERE xxx); join查询:SELECT a.* FROM table_a a JOIN (SELECT DISTINCT col1 FROM table_b b WHERE xxx) c ON (a.col1 = c.col1)

    如有更多疑问咨询可以加入MaxCompute开发者社区钉群点击链接

    2020-05-27 17:35:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Lazy Join Optimizations Without Upfront Statistics 立即下载
Cost-based Query Optimization 立即下载
低代码开发师(初级)实战教程 立即下载