Я использую следующий SUM запрос с SQLИсключая некоторые поля из SQL-запроса SUM
SELECT SUM(cost) as total FROM sales where passport =
Как бы исключить определенные записи из расчета, например, где платный = 1?
Я использую следующий SUM запрос с SQLИсключая некоторые поля из SQL-запроса SUM
SELECT SUM(cost) as total FROM sales where passport =
Как бы исключить определенные записи из расчета, например, где платный = 1?
Вы имеете в виду это?
SELECT SUM(cost) as total FROM sales where (passport = $myPassport AND paid <> 1)
SELECT SUM(cost) as total FROM sales where passport = "12345" and paid <> 1
SELECT SUM(cost) as total
FROM sales
WHERE passport = 12345
AND paid <> 1
Просто
SELECT SUM(cost) as total
FROM sales
WHERE passport = ?
AND paid <> 1
Вы также можете искать в группе здесь
SELECT passport, SUM(cost) as total
FROM sales
WHERE passport = ?
AND paid <> 1
GROUP BY passport
вы имели в виду, чтобы получить только всего, что равно 1?
ПРИМЕНЕНИЕ: HAVING total = 1
Иногда полезно использовать IF заявления типа, что:
SELECT COUNT(mct.id), SUM(mct.cost * IF(mct.status = 1, 0, 1))
FROM my_cool_table mct;
Таким образом, когда поле состояния равно 1 стоимость умножается на 0 и исключается из суммы, но строка не будет исключить функцию count.
Другим способом является использование select внутри SUM, но это будет не очень полезно.
* за исключением *, где платный = 1 ... – CJM
Да да, уже исправил ... Дай мне шанс вместо downvoting меня :( :) – Trefex