PARTITION BY语法错误排查:如何获取分区化结果集
解决PARTITION BY语法错误的问题
嘿,我一眼就揪出你SQL语句里的问题啦!你的查询在height和ROW_NUMBER()窗口函数之间少了一个逗号,数据库没法正确识别列和函数的边界,这才导致了PARTITION BY的语法报错。
修正后的SQL语句
SELECT education, nickname, height, ROW_NUMBER() OVER (PARTITION BY education ORDER BY height DESC) AS INDEX_NUM FROM user LIMIT 100;
关键修正说明
- 在
height后添加逗号,将普通列与窗口函数明确分隔,让数据库能正确解析每个查询项 - 给窗口函数的计算结果加上
AS INDEX_NUM(部分数据库允许省略AS,但加上会让语句更清晰规范)
修改后,查询就能按照education字段分区,每个分区内按height降序生成行号,刚好满足你想要的分区化结果集需求~
内容的提问来源于stack exchange,提问作者displayName
相关产品推荐
相关产品推荐

