嗨,我是 sql 世界的新手,但努力学习一些基础知识。
我有一组看起来像这样的数据:
Table name: Sample
PROJECT WORK ORDER AMOUNT
-----------------------------------------
111 a 100
222 b 200
111 c 300
444 d 400
111 e 500
666 f 600
我希望它最终看起来像这样:
Table name: Sample
PROJECT WORK ORDER AMOUNT PROJECT AMOUNT
--------------------------------------------------------
111 e 500 900
111 c 300 900
111 a 100 900
666 f 600 600
444 d 400 600
222 b 200 200
按 TOTAL 金额最大的项目排序
Group by 对我不起作用,因为它将所有项目归为一个,所以我看不到“项目 111”的 3 个工作订单行
PROJECT WORK ORDER AMOUNT
-----------------------------------------
111 a 900
222 b 200
444 d 400
666 f 600
Order by 不起作用,因为我无法根据最大的项目价值对其进行排序
Table name: Sample
PROJECT WORK ORDER AMOUNT
-----------------------------------------
666 f 600
111 e 500
444 d 400
111 c 300
222 b 200
111 a 100
我的替代想法是,如果我可以创建另一列“项目金额”,根据“项目”列中的值计算项目总数,然后我可以轻松地按项目金额对其进行排序,以实现所需的格式
Table name: Sample
PROJECT WORK ORDER AMOUNT PROJECT AMOUNT
--------------------------------------------------------
111 e 500 900
111 c 300 900
111 a 100 900
666 f 600 600
444 d 400 600
222 b 200 200
但是我正在努力如何获取“项目金额”列来计算所有项目的总价值并将它们呈现在具有相同项目编号的任何行上。
有什么建议吗?