如果减去1,Mysql会计算多列中的值

时间:2018-04-10 08:15:08

标签: php mysql operators

嗨我有一个数据库,我试着计算一下我可以多个值,并从中计算。

    ----------------------
    |id | name|parts|date|
    ---------------------
    |1  |abc  | 2   |2016|
    ---------------------
    |1  |bcd  | 3   |2017|
    ---------------------
    |1  |cde  | -5  |2018|
    ----------------------

我需要的是:

    -----------
    |id |count|
    -----------
    |1  |  6  | 
    -----------

正如我所说,如果我有一个minu( - )那么1是无关紧数,如果是-3或-5是eqal与1; 2 + 3 + 1 = 6;

3 个答案:

答案 0 :(得分:1)

尝试此查询:

SELECT id, SUM(IF(parts < 0, 1, parts)) AS `count`

FROM table

GROUP BY id

答案 1 :(得分:0)

SELECT `id`, 
SUM(CASE WHEN (`parts` < 0) THEN 1 ELSE `parts` END) AS Count 
FROM `TableName` 
GROUP BY `id`

SUM()函数返回数字列的总和。

CASE函数允许您评估条件并在满足第一个条件时返回值(如IF-THEN-ELSE语句)

答案 2 :(得分:0)

多次阅读之后,我认为这就是你想要实现的目标。

SELECT 
    id, 
    SUM(IF(parts < 0, 1, parts)) AS count
FROM 
    products
GROUP BY
    id