2016-05-04 2 views
3

Я не могу решить эту загадку. У меня есть следующее заявление:Среднее число в выражении Select

SELECT schedule_test.ID, LEFT(schedule_test.Course,2) AS 'Type', COUNT(*) AS 
'Count' 
FROM schedule_test 
GROUP BY ID, Type 

Это Echos следующее:

enter image description here

Что я могу добавить к Select заявление, чтобы добавить 4-й столбец со средним графа для каждого типа? Другими словами, каков был средний показатель типа «HS» для всех сотрудников? Пробовал добавить AVG(COUNT(*)), но я получаю ошибку, Invalid use of group function.

+0

вам нужно использовать 'AVG' в нескольких колонке, но' count' одно значение. –

+0

Можете ли вы уточнить? – user3258571

+2

Просьба предоставить нам данные о ваших ожидаемых данных. – Blank

ответ

0

Вы можете попробовать это:

SELECT ......., 
AVG(Count) AS average, 
AVG(Count WHEN Type = 'HS' THEN Count ELSE NULL END) AS conditionalAverage 
FROM schedule_test 
GROUP BY ID, Type; 
+1

К сожалению, я получаю сообщение об ошибке ... правильный синтаксис WHEN Type = 'HS' THEN Count ELSE NULL END). Кроме того, ваше решение видит только Type = "HS". В идеале я хотел бы усреднить по всем типам, сгруппированным по типу. – user3258571

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