如何实现MYSQL中的row_number()功能

我有一张表,如下所示:

attachments-2023-03-oZSDAx5u640ac4567a62f.png

需要根据area值进行分组,按qyt值进行降序排列,值相同时,排名不相同,得到这样的结果:

attachments-2023-03-1Ts0fXvB640ac4785f771.png

但是DolphinDB里好像没有类似功能的函数

我要怎么写SQL语句才能达到预期效果呢?

请先 登录 后评论

2 个回答

xuehaiwuya

您可以通过以下语句实现上述查询功能:

tmp_t = select *,denseRank(qyt) as ranking from t context by area order by area ,ranking desc
select id,area,qyt,rowNo(ranking)+1 as ranking from tmp_t context by area


请先 登录 后评论
saki

1.30.21/2.00.9 及之后版本,rank 参数 tiesMethod 支持 ‘first‘ ,上述脚本可以写为:

select *, rank(qty, ascending=false, tiesMethod='first') + 1 as ranking from t context by area order by area, ranking
请先 登录 后评论
  • 2 关注
  • 0 收藏,682 浏览
  • wangsenxiao 提出于 2023-03-10 13:46

相似问题