MYSQL数据查询识别不了定义的变量 SET @n=0;数据查询可以,设计器数据查询报错

image.png


image.png

SET @n=0;

SELECT a.*,`累计人数`/(SELECT `人数` from app_bi_business_guketongji_all WHERE `顾客分类` LIKE '忠诚顾客') 累计占比

FROM(

 SELECT a.*,@n := @n + 人数 AS `累计人数`

 FROM(

  SELECT *

  FROM  app_bi_business_guketongji_old  

  WHERE 顾客分类 LIKE '忠诚顾客'

  GROUP BY 日期

  )a

 )a;


我还怎么调整成可识别呢?

FineReport wangqiaofeng 发布于 2020-4-2 17:03 (编辑于 2020-4-2 18:04)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
zsh331Lv8专家互助
发布于2020-4-2 19:19(编辑于 2020-4-2 19:19)
SELECT
a.*, `累计人数` / (
SELECT
`人数`
FROM
app_bi_business_guketongji_all
WHERE
`顾客分类` LIKE '忠诚顾客'
) 累计占比
FROM
(
SELECT
a.*,@n := @n + 人数 AS `累计人数`
FROM
(
SELECT
*
FROM
app_bi_business_guketongji_old
WHERE
顾客分类 LIKE '忠诚顾客'
GROUP BY
日期
) a,(select @n:=0) b
) a;


最佳回答
1
Edward_DDLv5中级互助
发布于2020-4-2 17:32

这个只能识别一条语句,你自己的例子是执行了两条语句得到的结果,赋初值占用了一条,赋初值可参考下面语句

select   (@i:=@i+1)   as   i,table_name.*   from   table_name,(select   @i:=0)   as   it

  • 4关注人数
  • 627浏览人数
  • 最后回答于:2020-4-2 19:19
    请选择关闭问题的原因
    确定 取消
    返回顶部