2013-03-20 2 views
0

Я создал базу данных и веб-сайт, которые будут использоваться футболистами для выбора команды и т. Д. После завершения матча события будут сохранены в таблице match_players. Такие события - Цель, Желтая карточка, Красная карточка и т. Д. У меня нет проблем с получением этой информации в php из SQL db.Подсчитайте, сколько раз значение появляется в sql-запросе, используя php

Мне нужно добавить, сколько раз появляется цель («1» помещается в таблицу SQL) и для какой команды можно отображать окончательный результат. Так, например, если команда A имеет 1 гол, а Team B - 2, мне нужно отобразить это. Я пытаюсь подсчитать количество раз, когда цель была зарегистрирована в таблице. Любая помощь будет оценена.

+0

Посмотрите на 'COUNT' и' GROUP BY': http://dev.mysql.com/doc/refman/5.0/en/ group-by-functions.html # function_count – jeroen

ответ

1

Вы можете использовать MYSQL SUM

select SUM(Goal) from match_players where Team="A" 

Или вы можете получить то же самое для всех команд по

select Team,SUM(Goal) from match_players group by Team 
+2

Не забывая GROUP BY –

+0

Спасибо, капитан, уже добавлен :) –

+0

Я бы также предложил ограничение по дате, иначе Цели будут складываться из каждой игры, которую играет команда. – advermark

0

Почему вы не требовать эту сумму SQL непосредственно?

SELECT SUM(goals) 
FROM match_table 
WHERE team = 'Barcellona' 

Это должно быть намного быстрее и чем разрабатывать все данные на «PHP уровне»

Если вы хотите, чтобы эта деталь для всех команд

SELECT team,SUM(goals) 
FROM match_table 
GROUP BY team 
0

Ну, если вы сохраняете 1 каждый раз, когда гол забит, ваша таблица выглядит следующим образом:

TeamID goal 
    1  1 
    2  1 
    1  1 
    3  1 
    2  1 
    2  1 
    1  1 

Так вы просто хотите подсчет, сколько раз команды появляется в этой таблице:

select TeamID, count(*) from table group by TeamID 

Даст вам

TeamID | count(*) 
    1 | 3 
    2 | 3 
    3 | 1 
Смежные вопросы