描述:
---------------------------------------
id 编号 名称 数量 量差 排名
1 001 a 100
2 001 b 80
3 001 c 60
4 002 aa 100
5 002 bb 30
6 002 cc 30
7 003 a 100
8 003 bb 50
...........想对其中的数据执行修改操作,得到下面的结果:
---------------------------------------
id 编号 名称 数量 量差 排名
1 001 a 100 40
2 001 b 80 20
3 001 c 60 0
4 002 aa 100 70
5 002 bb 30 0
6 002 cc 30 0
7 003 a 100 50
8 003 bb 50 0
...........
如果能得到各自的排名,是更理想的结果了.
---------------------------------------
id 编号 名称 数量 量差 排名
1 001 a 100 40 1
2 001 b 80 20 2
3 001 c 60 0 3
4 002 aa 100 70 1
5 002 bb 30 0 2
6 002 cc 30 0 2/3 (排第二或第三都可以)
7 003 a 100 50 1
8 003 bb 50 0 2
...........
请高手指点如何通过写,SQL语句才能实现
---------------------------------------
id 编号 名称 数量 量差 排名
1 001 a 100
2 001 b 80
3 001 c 60
4 002 aa 100
5 002 bb 30
6 002 cc 30
7 003 a 100
8 003 bb 50
...........想对其中的数据执行修改操作,得到下面的结果:
---------------------------------------
id 编号 名称 数量 量差 排名
1 001 a 100 40
2 001 b 80 20
3 001 c 60 0
4 002 aa 100 70
5 002 bb 30 0
6 002 cc 30 0
7 003 a 100 50
8 003 bb 50 0
...........
如果能得到各自的排名,是更理想的结果了.
---------------------------------------
id 编号 名称 数量 量差 排名
1 001 a 100 40 1
2 001 b 80 20 2
3 001 c 60 0 3
4 002 aa 100 70 1
5 002 bb 30 0 2
6 002 cc 30 0 2/3 (排第二或第三都可以)
7 003 a 100 50 1
8 003 bb 50 0 2
...........
请高手指点如何通过写,SQL语句才能实现
解决方案 »
- VB操作Access 数据库,查询、新增、删除都可以,修改不可以,为什么
- 串口打印机如何打印图片
- [chinaboyzyq]提问
- 问个简单问题
- 怎么样把鼠标的作用范围固定在一个窗体上面,不让鼠标移出这个窗体的范围??
- 求助:我想学习多媒体程序设计,不知道哪种语言或编程环境更适合一些
- 望那位大侠帮帮我!不胜感激!
- 从spreadsheet导入excel的问题
- 用VB能不能调用底层的C语言程序??怎么办??
- 求教:用M$的XMLDOM对象无法装入xml代码.
- 繁簡系統適應的問題
- 想做一个英文软件,怎么把 MsgBox("", vbOKOnly, "Warning:")中的“确定”键变成“OK”键?
Create table A
(ID Int IDENTITY(1,1),
编号 Nvarchar(10),
名称 Nvarchar(10),
数量 Int,
量差 Int,
排名 Int
)Insert A values('001','a',100,Null,Null)
Insert A values('001','b',80,Null,Null)
Insert A values('001','c',60,Null,Null)
Insert A values('002','aa',100,Null,Null)
Insert A values('002','bb',30,Null,Null)
Insert A values('002','cc',30,Null,Null)
Insert A values('003','a',100,Null,Null)
Insert A values('003','bb',50,Null,Null)
--测试
Update AA set 量差=(AA.数量-(Select min(数量) from A Where 编号=AA.编号 )),
排名=(Select (IsNull(Count(*),0)+1) from A Where A.ID<AA.ID And 编号=AA.编号)
from A AA--删除测试环境
Drop table A