Как вставить формулу в MySQL? - PullRequest
       15

Как вставить формулу в MySQL?

3 голосов
/ 27 августа 2010

Я хочу вычислить одну строку в таблице "counter". я пытаюсь сделать мой стол вроде:

name          black     yellow     white        qty_job      total
david           1        0          0            2             ?
andrew          0        1          1            4              ?

формула для расчета:

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 голосов
/ 27 августа 2010

Вы не должны / не можете создавать строки с определенной формулой. Вы должны использовать этот запрос для получения суммы:

SELECT
    name,
    black,
    yellow,
    white,
    qty_job
    (SUM(black) + SUM(yellow) + SUM(white)*0.4) / qty_job AS total
FROM counter
GROUP BY name;
1 голос
/ 12 января 2012
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
1 голос
/ 27 августа 2010

Другой альтернативой является создание представления:

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
...