gpt4 book ai didi

sql - 每N条记录的返回行

转载 作者:行者123 更新时间:2023-12-03 08:18:06 25 4
gpt4 key购买 nike

我正在尝试在此处开发接受答案的Oracle SQL版本:
Return row of every n'th record

到目前为止,我有:

SELECT ROW_ID, CUST_ACCT_SITE_ID
FROM
(
SELECT CUST_ACCT_SITE_ID as CUST_ACCT_SITE_ID, ROW_NUMBER() OVER (ORDER BY CUST_ACCT_SITE_ID) AS ROW_ID
FROM XXDMX_VOICE_CUSTOMERS_TBL
) AS t
WHERE ROW_ID % 10000 = 0
ORDER BY CUST_ACCT_SITE_ID;

我得到错误

错误
ORA-00933:SQL命令未正确结束

我尝试了很多变化,无法想到我做错了什么。有什么想法吗,Oracle专家?

最佳答案

尝试像这样编写查询:

SELECT rn, CUST_ACCT_SITE_ID
FROM (SELECT CUST_ACCT_SITE_ID as CUST_ACCT_SITE_ID,
ROW_NUMBER() OVER (ORDER BY CUST_ACCT_SITE_ID) AS rn
FROM XXDMX_VOICE_CUSTOMERS_TBL
) t
WHERE mod(rn, 10000) = 0
ORDER BY CUST_ACCT_SITE_ID;

主要区别在于删除表别名的 as。 Oracle不允许这种语法。我还将 row_id更改为其他名称,因为“rowid”表示Oracle中的某些内容,其使用可能会造成混淆(请参阅 here)。

关于sql - 每N条记录的返回行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24562856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com