2016-10-21 1 views
0

У меня есть проблема в сумме поля, которые всегда показывают нуль, я уже пробовал все эти запроса MySQL,MySQL Сумма поля Показывать всегда NULL

(SUM(IFNULL(topup_amount,0))) AS total, 
SUM(topup_amount) AS total2, 
COALESCE(SUM(topup_amount),110), 
IFNULL(SUM(topup_amount), 0), 
COALESCE(SUM(topup_amount), 0) 

Но всегда показывать нулевой результат, мне нужно 0 (ноль). Кто-нибудь знает об этом?

+0

Вы попробовали 'SUM (COALESCE (topup_amount, 0)' (хотя я не вижу, чтобы это имело большое значение - я подозреваю, что ошибка лежит где-то в другом месте) – Strawberry

+0

Я не вижу ничего плохого, по крайней мере, для выражения 'SUM (IFNULL (topup_amount, 0)). Вы проверили, как выглядит результирующий набор после применения 'ifnull', но без агрегации? – PhillipD

+0

это запрос я использую, SELECT (СУММА (IFNULL (topup_amount, 0))) как общий, \t \t \t \t СУММА (topup_amount) А.С. total2, \t \t \t \t СОАЬЕЗСЕ (СУММА (topup_amount) , 110), IFNULL (СУММА (topup_amount), 0), СОАЬЕЗСЕ (СУММА (topup_amount), 0) \t \t \t ОТ \t \t \t \t \t ap_topup_request \t \t ГДЕ \t \t \t \t retailer_id = 34290 \t \t \t и дата (topup_time)> = ( \t \t \t \t DATE_ADD ( \t \t \t \t \t CURDATE(), \t \t \t \t \t ИНТЕРВАЛ - ДЕНЬНЕД (CURDATE()) ДЕНЬ \t \t \t \t) - ИНТЕРВАЛ 1 Неделя \t \t \t) \t \t \t и дата (topup_time) Bobby

ответ

0

После проверки всего моего запроса проблема GROUP BY WEEK (topup_time). Я удалил этот, и, наконец, я получил значение ifnull. Я не знаю, почему это может случиться.