如何在MySQL中插入一些公式?

4
我想在“计数器”表中计算一行。我试着让我的表格像这样:
name          black     yellow     white        qty_job      total
david           1        0          0            2             ?
andrew          0        1          1            4              ?

the formula to calculate is :

total = (nblack * 1) + (nyellow * 1) + (nwhite * 0.4) / qty_job
total = (1 * 1) + (0 * 1) + (0 * 0.4) / 2 = 0.5

如何在MySQL代码中插入此公式?特别是在SELECT方法中。
3个回答

5

您不应该/不能在某个公式所在的行上进行总计。您应该使用以下查询来检索总数:

SELECT
    name,
    black,
    yellow,
    white,
    qty_job
    (SUM(black) + SUM(yellow) + SUM(white)*0.4) / qty_job AS total
FROM counter
GROUP BY name;

2

另一个选择是创建视图:

CREATE VIEW test AS
SELECT id, (black * 1) + (yellow * 1) + (white * 0.4) / qty_job as total FROM counter;

剩下的部分应该很容易,你可以像这样做:
select
 counter.id,
 black,
 yellow,
 white,
 test.total
from
 counter,
 test
where
  counter.id = test.id

1
DECLARE @Number As int, @Number2 As int
SET @Number = 5
WHILE @Number >= 1
BEGIN
PRINT @Number
SET @Number = @Number - 1

PRINT @Number2
SET @Number2 = @Number * (@Number2 - 1)

PRINT 'The Factorial of'
PRINT @Number
PRINT 'is'
PRINT @Number2

END 
GO

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接