Среднее значение поля CASE WHEN

Как я могу получить среднее значение столбца 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;

Это то, что я сейчас получаю:

Среднее значение поля CASE WHEN

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

Среднее значение поля CASE WHEN

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

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
49
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете использовать 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;

@АПХ. . . Преобразование не требуется, просто десятичная точка. Первоначально вопрос не был помечен как SQL Server.

Gordon Linoff 07.03.2019 00:45

Теперь я вижу, что не все заключал в скобки. Изменение его на 0.0 float также улучшило результаты. Спасибо вам обоим!

ILoveYouTooPizza 07.03.2019 14:55

Вы можете использовать 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;

Другие вопросы по теме