我尝试使用ROW_NUMBER()获取行号,但显示以下错误:


无法格式化消息13:896-消息文件C:\ WINDOWS \ firebird.msg
未找到。动态SQL错误。 SQL错误代码= -104。令牌未知-
第2行,第66列。


这是我的代码:

SELECT  avg(CSIDTL.RATING) ,SVD.SVCADVISORNAME, ROW_NUMBER() OVER(ORDER BY avg(CSIDTL.RATING) )
        FROM T_APPT_BOOKING_MSTR MSTR ,T_APPT_CSI_SURVEY CSI,T_APPT_CSI_SURVEY_DTL CSIDTL,
        T_SVC_SVCADVISOR_MASTER SVD
        WHERE MSTR.APPTBKID = CSI.APPTBKID
        AND CSI.CSI_SURVERYID = CSIDTL.CSI_SURVERYID
        AND SVD.SVCADVISORID = MSTR.SVCADVISORID
        AND CSI.FEEDBACK_STATUS = 'Y'
        AND CSIDTL.question ='Service Advisor'
        GROUP BY SVD.SVCADVISORNAME
        ORDER by avg(CSIDTL.RATING)

最佳答案

ROW_NUMBER()函数是在几天前发布的Firebird 3.0中引入的。有关确切的语法,请参见发行说明的Window (Analytical) Functions章。您收到的错误提示您使用的是不具备此功能的旧版Firebird。

关于sql - 如何在SQL中获取ROW_NUMBER()?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36733521/

10-10 02:54