Mysql считать значения в нескольких столбцах, если минус затем 1

0

Привет у меня есть база данных, и я пытаюсь сделать счет, где я могу несколько значений и сделать, чтобы подсчитать их.

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

И мне нужно:

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

Как я сказал, если у меня есть minu (-), то 1 не имеет значения, если -3 или -5 является эгальным с 1; 2 + 3 + 1 = 6;

  • 0
    Я не понимаю, твой вопрос, ты можешь это объяснить?
  • 0
    я хочу сделать счет, где id = 1, но со значением, например, у меня есть значение 2,3, -5, я хочу сделать что-то вроде 2 + 3 = 5, и если у меня есть значение с минус это значение будет равно с 1 и у меня будет 2 + 3 + 1 = 6
Показать ещё 2 комментария
Теги:
operators

3 ответа

1
Лучший ответ

Попробуйте этот запрос:

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

FROM table

GROUP BY id
0

Прочитав это несколько раз, я думаю, что это то, чего вы хотите достичь.

SELECT 
    id, 
    SUM(IF(parts < 0, 1, parts)) AS count
FROM 
    products
GROUP BY
    id
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)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню