过滤值/未过滤值的T-SQL嵌套语句

时间:2014-02-28 03:09:27

标签: sql-server tsql nested

试图找出我可能会做这样的事情。

我必须做类似以下的数学运算:

Apples - 5
Oranges - 4
Pears - 6

Apples / Total Fruit

问题是我必须做一个嵌套的SELECT语句来过滤掉特定的类别。我不知道如何构建这个。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

根据我的理解,这是解决方案..

比方说,您的表名称Fruits,其中有两列 - (Fruit, FruitCount)。 所以试试这样的事情......

Select Fruit, (FruitCount/(select sum(FruitCount) from Fruits)) as RequiredCount from Fruits

答案 1 :(得分:0)

这可能比在每一行上进行聚合更有效。

select Fruit, FruitCount / TotalFruit from
Fruits, (select sum(FruitCount) as TotalFruit from Fruits)

请注意,FruitCount不能是整数类型,或者在执行除法时将四舍五入为整数(即​​0或1)。否则你必须将它强制转换为float或其他十进制类型。