MYSQL;СУММУ можно сделать только в том случае, если значение имеет определенный столбец - PullRequest
1 голос
/ 09 сентября 2011

У меня есть следующий код

$query = "SELECT playerID, name,
  SUM(runs_bowled) / SUM(wickets) AS average
  FROM matchPlayer
  GROUP BY playerID "; 

НО это возвращает 0, если человек не взял калитку, я хочу

SUM(runs_bowled) / SUM(wickets) AS average

, чтобы активировать только еслиСумма (калитки) больше (или равна) чем 10.

Ответы [ 2 ]

2 голосов
/ 09 сентября 2011

В зависимости от ваших потребностей:

SELECT 
    playerID, name,
    IF( SUM(wickets) >= 10, SUM(runs_bowled) / SUM(wickets), NULL ) AS average
FROM matchPlayer
GROUP BY playerID

Или:

SELECT 
    playerID, name,
    SUM(runs_bowled) / SUM(wickets) AS average
FROM matchPlayer
GROUP BY playerID
HAVING SUM(wickets) >= 10
1 голос
/ 09 сентября 2011
SELECT playerID, name,
 CASE WHEN wickets >= 10 
      THEN runs / wickets
      ELSE 0
 END As Average
FROM (

SELECT
 playerID, name, 
 SUM(runs_bowled) runs, 
 SUM(wickets) wichets
FROM 
 matchPlayer
GROUP BY 
 playerID, name, 
) As A
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...