выбрать строки из таблицы с датой в регионе - 90 дней назад и сейчас. - PullRequest
2 голосов
/ 14 сентября 2009
SELECT gameratingstblx245v.gameid,avg( gameratingstblx245v.rating ) as avgrating, count(gameratingstblx245v.rating) as count,gamedata.name ,gamedata.gameinfo
FROM gameratingstblx245v 
LEFT JOIN gamedata ON gamedata.id = gameratingstblx245v.game_id 
WHERE gameratingstblx245v.game_id=gameratingstblx245v.game_id 
GROUP BY gameid 
ORDER BY avg( gameratingstblx245v.rating ) DESC LIMIT 0,8

Таблица gameratingstblx245v - gameid , рейтинг
Rable gamedata - id , gameinfo, имя, дата выпуска

Это запрос, который я в настоящее время использую для извлечения данных из двух таблиц gamedata и gameratingstblx245v .... То, что я делаю здесь, это получение значения avg. всех рейтингов из таблицы gameratingstblx245v в порядке убывания их средн. рейтинг, и я также извлекаю связанную информацию, соответствующую выбранным игрокам из таблицы игровых данных ...

Теперь то, что я хочу извлечь, это верхняя средняя. рейтинги от game_ratingstblx245v, но для игр, чьи поля освобождены от игровых данных за последние 90 дней ... Помощь будет оценена .. Спасибо

1 Ответ

6 голосов
/ 14 сентября 2009

Вот как я бы разработал этот запрос:

SELECT d.id, d.name, d.gameinfo,
  AVG(r.rating) AS avgrating, COUNT(r.rating) AS count
FROM gamedata d
LEFT JOIN gameratingstblx245v r ON (d.id = r.game_id)
WHERE d.releasedate BETWEEN NOW() - INTERVAL 90 DAY AND NOW()
GROUP BY d.id 
ORDER BY avgrating DESC LIMIT 0,8;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...