mysql中如何增加一列排序字段?

select a.customid,round(sum(a.sale_amount*b.price),2) tt from 2002a a,2002b b,2002c c where a.customid=c.customid and a.productid=b.productid group

by a.customid order by tt desc 

根据上述求出来的表在增加一列 (排序列) 怎么写sql

caryzhangbing 发布于 2020-10-31 20:23
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
zsh331Lv8专家互助
发布于2020-10-31 20:33(编辑于 2020-10-31 21:11)
SELECT
a.customid,

round(sum(a.sale_amount * b.price), 2) tt

FROM

2002a a,
2002b b,
2002c c

WHERE
a.customid = c.customid AND a.productid = b.productid
GROUP BY a.customid
ORDER BY
round(sum(a.sale_amount * b.price), 2)  DESC

========

= =#

参考下面的sql,在外面再套一层即可;

http://suo.im/5QQDC8


image.png

  • caryzhangbing caryzhangbing(提问者) 不是这样的,我需要的是 在上述求出来的表当做t表吧,在t表中需要增加一列排序列,原t表只有id和金额,现在需要变为id,金额,排序? 懂我的意思吗?
    2020-10-31 20:54 
  • caryzhangbing caryzhangbing(提问者) 就相当于多出来的一列是计算排名的
    2020-10-31 20:54 
  • zsh331 zsh331 回复 caryzhangbing(提问者) = = 更新了,打开上面链接,在sql里面再套一层即可;
    2020-10-31 21:12 
最佳回答
0
仇长俊Lv6初级互助
发布于2020-11-2 15:21

select (@i:=@i+1) as 序号,a.customid,round(sum(a.sale_amount*b.price),2) tt from 2002a a,2002b b,2002c c ,(select @i:=0)

where a.customid=c.customid and a.productid=b.productid group

by a.customid order by tt desc


加个临时参数做排序用吧

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