2015-01-23 3 views
1

У меня есть таблица, которая держит точку использования репутации какрассчитывает значение Удельного столбца в тузде таблице

id | bronze_badge | gold_badge | reputation_points | user_id 
1 | 1   | 1   | 300    | 3 
2 | 13   | 3   | 22    | 1 
3 | 4   | 1   | 10    | 22 
4 | 0   | 21   | 52    | 3 

Теперь я хотел бы, чтобы отобразить количество золота BAGES user_id 3 имеет который 22 т.е. 1 + 21

так, в настоящее время, я делаю это как

$gold = "SELECT gold_badge FROM user where user id = 3"; 
    $gold = $db->query($gold); 
    ... 

, а затем я делаю цикл Еогеасп для подсчета gold_bages, безусловно, должны быть лучший способ сделать это с помощью count() Я пробовал использовать count(), но он учитывает только количество строк, а не gold_bages.

+3

Чтобы сложить числа, используйте 'SUM()', 'не COUNT()'. Если это цель. –

+0

да ... выберите сумму (gold_badge) от пользователя, где user_id = 3 –

+0

Спасибо, ребята. Вы уверены, что никто не хочет повторения? –

ответ

3

Чтобы добавить цифры, используйте SUM(), а не COUNT().

Consult http://www.mysqltutorial.org/mysql-sum/

Как Randyka (Юдхиштхира) также заявил в комментарии

select sum(gold_badge) from user where user_id = 3 
  • Престижность Randyka для этого.

Смотрите список функций агрегированных данных MySQL:

Смежные вопросы