Как я могу получить среднее значение столбца TotalTeamMembership?
SELECT Player,
CASE WHEN Basketball = '' THEN 0 ELSE 1 END +
CASE WHEN Baseball = '' THEN 0 ELSE 1 END +
CASE WHEN Football = '' THEN 0 ELSE 1 END AS TotalTeamMembership
FROM PlayerMembership;
Это то, что я сейчас получаю:

Это то, что мне нужно:

Спасибо за любое руководство!


Вы можете использовать AVG():
SELECT AVG(CASE WHEN Basketball = '' THEN 0.0 ELSE 1 END +
CASE WHEN Baseball = '' THEN 0 ELSE 1 END +
CASE WHEN Football = '' THEN 0 ELSE 1 END
) AS avg_TotalTeamMembership
FROM PlayerMembership;
Теперь я вижу, что не все заключал в скобки. Изменение его на 0.0 float также улучшило результаты. Спасибо вам обоим!
Вы можете использовать AVGагрегатную функцию:
SELECT AVG(TotalTeamMembership)
FROM (SELECT Player,
CASE WHEN Basketball = '' THEN 0 ELSE 1 END +
CASE WHEN Baseball = '' THEN 0 ELSE 1 END +
CASE WHEN Football = '' THEN 0 ELSE 1 END AS TotalTeamMembership
FROM PlayerMembership) s;
@АПХ. . . Преобразование не требуется, просто десятичная точка. Первоначально вопрос не был помечен как SQL Server.