Oracle查询是-
select ROW_NUMBER () OVER(order by shortunitdesc) as SLNO,
om.shortunitdesc,oc.operparam as Parameter,
oc.tagno,oc.severity,lowlimit,highlimit, oc.operrange, IMPLICATION, DURATION from oeconfig oc, oeunitmaster om
where oc.unitcode = om.unitcode;
我想在mysql中转换,所以我尝试了
select @i:=@i+1 as slno, om.shortunitdesc, oc.operparam as Parameter,
oc.tagno,oc.severity,oc.lowlimit,oc.highlimit,oc.operrange , IMPLICATION, DURATION
from oeconfig oc oeunitmaster om , (select @i := 0)
where oc.unitcode = om.unitcode
order by shortunitdesc;
但它给出了一个错误 - 每个派生表必须有自己的别名
最佳答案
select @i:=@i+1 as slno, om.shortunitdesc, oc.operparam as Parameter,
oc.tagno,oc.severity,oc.lowlimit,oc.highlimit,oc.operrange , IMPLICATION, DURATION
from oeconfig oc, oeunitmaster om, (select @i := 0) t
where oc.unitcode = om.unitcode
order by shortunitdesc;
关于MySQL – 使用变量为每行生成行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52620045/