表:table
id name sign1 sign2 userid money result
1 橘子 0.5 0 1 100
2 苹果 4.8 0.5 2 50
3 橘子 0.5 0 3 150
4 橘子 0 0.5 4 100是这样.sign=0.5的有两个,sign2两0.5的有一个.我想把sign=0.5的钱平均分配给sign2=0.5的用户.然后在result显示.
id name sign1 sign2 userid money result
1 橘子 0.5 0 1 100
2 苹果 4.8 0.5 2 50
3 橘子 0.5 0 3 150
4 橘子 0 0.5 4 100是这样.sign=0.5的有两个,sign2两0.5的有一个.我想把sign=0.5的钱平均分配给sign2=0.5的用户.然后在result显示.
id name sign1 sign2 userid money result
1 橘子 0.5 0 1 100
2 苹果 4.8 0.5 2 50
3 橘子 0.5 0 3 150
4 橘子 0 0.5 4 100是这样.sign1=0.5的有两个,sign2两0.5的有两个.我想把sign1=0.5的钱平均分配给sign2=0.5的用户.然后在result显示.
result =
(select sum([money]) from 表名 where sign1=0.5)/(select count(*) from 表名 where sign2=0.5)
where sign2=0.5
result =
[money] + (select sum([money]) from 表名 where sign1=0.5)/(select count(*) from 表名 where sign2=0.5)
where sign2=0.5
update table set result = (select sum(money) from table where sign1 = 0.5)/ (select count(money) from table where sign2 = 0.5) where sign2 = 0.5
select name sign1 sign2 userid money result from table
假如sign1=0.5的钱(money字段)按照sign2=0.5所显示的钱多少分配.
例如sign1=0.5的钱一共是150,sign2=0.5的钱200,就是说sign2=0.5 中的钱谁交的多 谁就分的多.
前提是不知道表中的sign1和sign2的确定数据.
麻烦大家了,本人的sql 实在是烂.
result =
(select sum([money]) from 表名 where sign1=0.5)
/
(select sum([money]) from 表名 where sign2=0.5)
*
[money]
where sign2=0.5
我就厚着脸皮问到底吧,如果sign1=0.5和sign2=0.5没有明确给出,上面这句怎么写.
是不是还要嵌套sql.例如 where sign1=sign2.
update 表名 set
result =
(select sum([money]) from 表名 where sign1=0.5)
/
(select sum([money]) from 表名 where sign2=0.5)
*
[money]
where sign2=0.5 这里的 sign1=0.5 或者sign2=0.5,这些数据存在于数据库中,因为会有好多sign1字段=sign2字段的数据,我计算的时候不可能明确写出where sign1=XX,where sign2=XX.就是找出sign1=sign2的数据 然后计算
set @number1=0.5
set @number2=0.5
update 表名 set
result = (select sum([money]) from table where sign1=@number1)
/
(select count(*) from table where sign2=@number2)
where sign2=@number2
只要更改 @number1=0.5
@number2=0.5
中0.5就可以了,呵呵用局部变量搞!!
如果是这样,这条sql如何写.
就是把sign1=0.5的钱 全部给了sign2=0.5的,那sign1=0.5 所对应的result置为0.