Я пытаюсь найти средние игры и средние выступления Plat для MLB в течение сезона 2012 года для outfielders ORDERED BY their birthYear. В настоящее время этот SQL показывает записи для каждого игрока. База данных является база данных lahman http://seanlahman.com/files/database/readme2012.txtВложенные Sabermetric SQL - средние пояса и игры
Я получаю ошибку:
MySQL Error 1248: Every derived table must have its own alias
Кто-нибудь увидеть проблему. Это определенно в том, как я вложил выбранные, но я не уверен, где.
SELECT AVG(PA) AS AVG_PA, AVG(b.G) AS AVG_G
FROM(
SELECT CONCAT(m.nameFirst, ' ', m.nameLast) AS playerName, m.birthYear, f.pos, b.yearID, b.teamID, b.stint,
b.G,
(b.AB+b.BB+b.HBP+b.SF+b.SH) AS PA
FROM Batting b
JOIN Master m
ON b.playerID = m.playerID
JOIN Fielding f
ON f.playerID = b.playerID
AND f.yearID = b.yearID
AND f.stint = b.stint
WHERE (f.POS = 'LF'AND b.yearID = '2013')
OR (f.POS = 'CF' AND b.yearID = '2013')
OR (f.POS = 'RF' AND b.yearID = '2013')
)
ORDER BY m.birthYear
Благодаря
Ответ на этот вопрос решает вашу проблему? – radar
Эй, @ RADAR, ваше решение помогло найти средние значения. Однако моя логика была неправильной. Я хочу найти статистику ватин для отдельных аутфилдеров. Тем не менее, многие аутфилдеры играли разные полевые позиции («RF», «CF» и «LF»). Таким образом, проблема в том, что, поскольку я схожу с таблицей ватин и поиском по позиционированию, я получаю несколько повторных строк для каждого игрока, и это мешает среднему. Мне нужно выяснить, как получить отдельные случаи, поэтому идентификаторы или имена игроков не повторяются, как только они обнаруживают, что они играли в поле. – user1093111
@ RADAR спасибо за вашу помощь, между прочим. – user1093111