SQL中LIMIT函数的语法规范及BigQuery使用问题咨询
关于BigQuery中LIMIT函数的正确用法
在标准SQL(包括BigQuery)里,LIMIT必须作为查询语句的最后一个子句,这是语法规则的硬性要求,和数据集行数多少无关。
你的三次尝试结果完全符合这个规则:
- 第一次尝试报错:因为你把
ORDER BY放在了LIMIT之后,违反了SQL的语法顺序,不管数据集有没有超过1000行,语法解析器都会直接报错。 - 第二次尝试正常:没有使用
LIMIT,单纯执行SELECT+FROM+ORDER BY,符合语法顺序,所以能正常运行。 - 第三次尝试正常:先通过
ORDER BY year对数据排序,再用LIMIT 1000取排序后的前1000条,完全符合正确的语法顺序,所以运行没问题。
顺便给你补个基础SQL查询的语法顺序,新手记下来能少踩坑:SELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY → LIMIT
内容的提问来源于stack exchange,提问作者Tal Krasnovsky
相关产品推荐
相关产品推荐

