# mysql如何实现,让一个字段先正数升序,再负数降序。
目前已经实现了Oracle下的SQL语句,但是mysql不支持rank()函数,请教mysql下如何处理:
orcale实现的sql如下,如何改成mysql的
select RANK() OVER(PARTITION BY period_value ORDER BY sign(target_bnlj_val) desc, abs(target_bnlj_val)) 序号,
z.period_value 期间,
o.org_sort 单位编号,
ta.seq 类型编号,
b.target_bnlj_val 数值
from T_ZB_VAL b
left join t_zb_period z
on z.id = b.period_id
left join T_ZB_org o
on o.id = b.org_id
left join t_zb_target ta
on ta.id = b.target_id
where target_id = '1fb6b27f5c4f4463aa6abafa5f6eff69'
and o.org_type = '11'o.org_type = '11'
下图为执行后的数据:
由于没有C币了,大神解决了,加微信红包感谢。