2012-11-25 1 views
2

Я предполагаю получить AVG из результатов подсчета.Как найти среднее значение результата подсчета в MySQL?

SELECT labelname AS Record_Labels, COUNT(title) AS Number_of_CDs_Released FROM CD 
JOIN RecordLabel ON labelname = released_by 
GROUP BY labelname;    

Я пробовал делать это: AVG (COUNT (название)), но это не сработало. Может кто-нибудь помочь мне здесь?

+0

Добро пожаловать на переполнение стека! ;) –

+1

Я пробовал Google. Но ответы даны все подзапросы, я хочу попробовать с помощью JOIN. – MikeCOYS

+1

Это потому, что логический способ сделать это с подзапросом. Почему вы хотите использовать соединение вместо этого? Вы не пробовали присоединиться, вы пробовали и терпели неудачу с агрегацией. В исходном вопросе не говорится ни слова о желании использовать соединение. –

ответ

4

Вы можете использовать вложенный запрос, чтобы сделать это:

select avg(Number_of_CDs_Released) from 
(SELECT labelname AS Record_Labels, COUNT(title) AS Number_of_CDs_Released FROM CD 
JOIN RecordLabel ON labelname = released_by 
GROUP BY labelname) nested; 
+0

Спасибо за ответ. Но как мне это сделать, чтобы AVG для каждой строки labelname вместо AVG всех имен ярлыков? – MikeCOYS

+0

Это не имеет смысла для меня. Вы делаете подсчет для уникальных имен меток. Выполнение в среднем одной вещи дает вам то же самое - счет. Выполнение в среднем по всей таблице дает вам среднее значение. Может быть, вы можете вернуться и отредактировать свой исходный вопрос на примере того, что вы на самом деле хотите сделать? –

+0

Ты спас меня там, извини. Я плохо прочитал этот вопрос. Я думал, что он попросил меня найти выпуск AVG каждого лейбла, но это был просто AVG из компакт-дисков, выпущенных лейблами. Это была долгая ночь, глядя на коды :(Я бы ответил на ваш ответ, но мне не разрешили, однако я пометил его. Еще раз спасибо! – MikeCOYS

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

  • Нет связанных вопросов^_^