我有一个包含两列的表:
Name Values
----------------
Target 20
v1 10
v2 20
v3 10
Total 30
percent ?
我想用单个列值来计算百分比,以获得如下公式
-->目标/总计* 100。
也就是说,对于ex: Total = SUM (Values),以这种方式......
通过在sql查询中使用列中的两行,通过在其中实现一个公式,如何在单列中进行具有不同行值的计算。
我不想计算总数。我想计算百分比:
公式:目标/总计* 100。它给出了百分比行中的值?
多么?要查询吗?
发布于 2010-09-04 00:56:12
如果你想在SQL中这样做...
;WITH
cTarget AS (SELECT Values AS Target FROM MyTable WHERE name = 'Target'),
cTotals AS (SELECT SUM(Values) AS Total FROM MyTable WHERE name <> 'Target')
SELECT * FROM MyTable
UNION ALL
SELECT 'Total', Total FROM cTotals
UNION ALL
SELECT
'Percentage', 1.0 * Target / Total * 100
FROM
cTarget
CROSS JOIN
cTotals
发布于 2010-09-04 00:56:44
您希望在查询输出中显示额外的记录吗?这看起来像是想让它看起来和工作起来像Excel电子表格一样,但不管怎样,下面是你要做的:
SELECT Name, Values FROM table
UNION (Select function(inputs) AS Name, function(inputs) AS Values FROM table)
https://stackoverflow.com/questions/3637850
复制相似问题