django使用原生sql语句操作mysql出现了问题

from django.db import connection, connections
cursor = connections['default'].cursor()   


cursor.execute("select 起始时间,线路,交通方式,进站总人数 \
                from ( \
                select @gn:=case when @起始时间=起始时间 then @gn+1 else 1 end gn,@起始时间:=起始时间 起始时间,线路,交通方式,进站总人数 \
                from ( \
                    select 起始时间,线路,any_value(交通类型) 交通方式,sum(进站人数) 进站总人数 \
                    from roadnet_monitor_flowdata2 \
                    where 日期 = '%s' \
                    group by 起始时间,线路) aa,(select @gn:=1) bb \
                    order by 起始时间,进站总人数 desc) aaa \
                where gn <= 10;" % (date))

django 使用上面的sql语句操作sql,可以看到 我的sql语句中使用了名为 gn 的自定义变量,可是返回的结果数量比正确值多,好像 where gn <= 10 失效了一样,但是同样的sql在mysql命令行下输入,返回正常,这是为什么?

阅读 3.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题