navicat查询有数据,fr数据集查询不到,5.7没有开窗函数,所以自定义变量

SELECT org,

        pre_org,

        stat_year,

        stat_week,

        str_week,

        gzbx_num,

        sq_type,

        stat_ym,

        @rownum:=@rownum+1 AS rownum,

        '去年' AS year_type,rank

FROM 

    (SELECT org,

         pre_org,

        stat_year,

        stat_week,

        str_week,

        gzbx_num,

        sq_type,

        stat_ym,

        CASE

        WHEN @stat_ym = stat_ym THEN

        @rank

        WHEN @stat_ym := stat_ym THEN

        @rank := @rank+1

        ELSE @rank := @rank + 1

        END AS rank , @stat_ym = stat_ym

    FROM 

        (SELECT regexp_replace(org,

         '供电所',null) AS org ,pre_org ,stat_year ,stat_week , concat(stat_week,'周') str_week ,gzbx_num ,sq_type ,concat(stat_year,lpad(stat_week,2,0)) stat_ym

        FROM RC_FPO_OUTAGE_REQUEST_2

        WHERE sq_type = '抱怨类'

                AND stat_year !=2019

        ORDER BY  stat_year,stat_week,stat_ym) b, 

            (SELECT @stat_ym :=null,

        @rank := 0)t

            WHERE 1 =1

            ORDER BY  stat_ym ) a, 

            (SELECT @rownum:=0)t

            WHERE rank = 1

FineReport SQL Peihowe 发布于 2022-10-13 09:28 (编辑于 2022-10-13 09:33)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-10-13 10:09

正常是支持。先查询这一段看是否有数据?如果没有数据就是编码的问题

SELECT regexp_replace(org,

         '供电所',null) AS org ,pre_org ,stat_year ,stat_week , concat(stat_week,'周') str_week ,gzbx_num ,sq_type ,concat(stat_year,lpad(stat_week,2,0)) stat_ym

        FROM RC_FPO_OUTAGE_REQUEST_2

        WHERE sq_type = '抱怨类'

                AND stat_year !=2019

        ORDER BY  stat_year,stat_week,stat_ym

乱码:MySQL数据连接常见问题- FineReport帮助文档 - 全面的报表使用教程和学习资料 (fanruan.com)

image.png

以下是@的语句。可以出来的row_num的实现5.6版本在设计器查询

image.png

最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-10-13 09:29
  • Peihowe Peihowe(提问者) 不好意思,这跟编码没有关系,因为5.7用不了·开窗,所以只能这样写
    2022-10-13 09:32 
  • Z4u3z1 Z4u3z1 回复 Peihowe(提问者) 你不是说navicat 能正常用么?????
    2022-10-13 09:33 
最佳回答
0
snrtuemcLv8专家互助
发布于2022-10-13 09:35

好像帆软不支持@写法

可以写成存储过程,然后帆软调用存储过程就可以了

exec 存储过程名称

  • 3关注人数
  • 364浏览人数
  • 最后回答于:2022-10-13 10:09
    请选择关闭问题的原因
    确定 取消
    返回顶部