SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 28.09.2011 13:39:34

anastasia1991
Участник
Зарегистрирован: 28.09.2011
Сообщений: 2

Помогите пожалуйста с запросом люди добрые. Очень нужно и важно!

Люди добрые! Прошу Вас, помогите составить запрос к базе данных! Вопрос жизни или смерти, завтра отчисление в универе и мне осталось сдать всего один запрос, и ничего не выходит((

Запрос: аналитика - результативность игроков по годам, то есть в каком
году какой игрок сколько очков для команды заработал, для каждого года
вывести только трёх лучших игроков.

препод сказала добавить аттрибуты, которых не хватает для запроса

Прилагаю схему данных

ПОМОГИТЕ ПОЖАЛУЙСТА!!! ОТБЛАГОДАРЮ!!!


Прикрепленные файлы:
Attachment Icon ae.jpg, Размер: 101,302 байт, Скачано: 348

Неактивен

 

#2 28.09.2011 22:10:14

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Помогите пожалуйста с запросом люди добрые. Очень нужно и важно!

Не хватает, видимо, года, когда, собственно, происходила игра.
Игры вообще никак не привязаны:
ALTER TABLE `Сыгранные игры` ADD year_played INT NOT NULL;

После этого нужно смотреть только на «Сыгранные игры» и на
«Активный состав команды» во время этих игр.

Вытащить игроков и их очки по годам:
SELECT id_igrok, year_played, SUM(pts) AS pts
FROM `Сыгранные игры` AS games
JOIN `Активный состав команды` AS players USING (id_igra)
GROUP BY id_igrok, year_played
ORDER BY year_played, pts DESC;

Чтобы для каждого года вытащить трех лучших игроков прийдется
прибегнуть к *нескольким* запросам: SQL не позволяет вытаскивать
«по три лучших». Для одного года можно это сделать как-то так:
SELECT id_igrok, `Имя`, `Фамилия`, SUM(pts) AS pts
FROM `Сыгранные игры` AS games
JOIN `Активный состав команды` AS players USING (id_igra)
WHERE year_played = 2011
GROUP BY id_igrok, `Имя`, `Фамилия`
ORDER BY pts DESC
LIMIT 3;

Удачи со сдачей, постарайтесь больше до такого не доводить.

Неактивен

 

#3 29.09.2011 05:48:15

anastasia1991
Участник
Зарегистрирован: 28.09.2011
Сообщений: 2

Re: Помогите пожалуйста с запросом люди добрые. Очень нужно и важно!

Спасибо Вам большое, убедилась что есть всё-таки добрые люди в интернете.

Неактивен

 

#4 30.09.2011 05:40:02

ludvin
Участник
Зарегистрирован: 02.09.2011
Сообщений: 6

Re: Помогите пожалуйста с запросом люди добрые. Очень нужно и важно!

У меня стояла DLE 9.0 демоверсия. При достижении 100 новостей решил перейти на лицензионную (у меня лицензия DLE 7.0)  обновился до 7.0. Установил данную версию на хостинг, создал новую базу. В нее импортировал дамп.
Написало:
MySQL Error!
------------------------

The Error returned was:
Unknown column 'expires' in 'field list'

Error Number:
1054
ВВел запрос
ALTER TABLE dle_post ADD expires DATE
все обновилось но теперь новости ввиде

   
САЛАТ ИЗ ПОМИДОРОВ С ЯЙЦОМ

- 350 г помидоров,
- 2 сваренных вкрутую яйца,
- 100 г репчатого лука,
- 100 г вареного сельдерея,
- 300 г майонеза,
- соль, черный молотый перец.
[edit-date]
Новость отредактировал {editor} - {edit-date}[edit-reason]
Причина: {edit-reason}
[/edit-reason]
[/edit-date]

Теги в конце в таблицах нигде не отображаются.
Объясните нубу что неправильно сделал и как исправить данную ситуацию , чтобы исправил и теги не отображались в новостях. Заранее спс за поддержку и пояснения!!!!

Неактивен

 

#5 30.09.2011 11:24:47

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите пожалуйста с запросом люди добрые. Очень нужно и важно!

К MySQL этот вопрос не имеет отношения. Задавайте его на форуме поддержки дле. Скорее всего переход с 9ой на 7ую требует шаманства.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson