sql语法

怎么按照制定排序规则排序后再按照一个字段的分组,组内排序啊

image.png

就是想实现按照分组排序后再按照同种类水果销量降序,这么写好像不行

yzm985349 发布于 2021-8-23 11:13
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
杨朝健Lv5中级互助
发布于2021-8-23 11:22

saleamount是字符串,saleamount-0 desc 转成数字再排

最佳回答
0
ColdmanLv6高级互助
发布于2021-8-23 11:20

写法应该没有问题啊,什么数据库

最佳回答
0
Z4u3z1Lv6专家互助
发布于2021-8-23 11:22

ROW_NUMBER() OVER(PARTITION  BY AA ORDER BY BB DESC) CC

AA BB CC

50 1

40 2

30 3

60 1

50 2

10 3

RANK() OVER(ORDER BY BB DESC) CC

AA BB CC

60 1

50 2

50 2

40 4

30 5

10 6

DENSE_RANK() OVER(ORDER BY BB DESC) CC

AA BB CC

60 1

50 2

50 2

40 3

30 4

10 5

最佳回答
0
陈阿大Lv5初级互助
发布于2021-8-23 11:22

你的销量字段类型现在应该是字符串,改成数字后排序应该没问题

最佳回答
0
清风TLv6初级互助
发布于2021-8-23 11:23(编辑于 2021-8-23 11:25)

case when tname='梨' then 1

when tname='葡萄' then 2

....end AS ords

1数字要是不行就加上单引号看看

然后再按这个字段排序嘛

  • 5关注人数
  • 424浏览人数
  • 最后回答于:2021-8-23 11:25
    请选择关闭问题的原因
    确定 取消
    返回顶部