![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
Master_ |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 31.1.2007 Репутация: нет Всего: нет |
Есть две таблицы.
В одной: d_id d_date f_id user_id 1 1199290023 1 1 2 1199290080 2 1 3 1199290087 2 1 В другой: f_id f_name f_download 1 Первый файл 33 2 Второй файл 32 Собственно первая таблица - логи скачивания файлов, ид, дата, ид файла, ид пользователя. Во второй таблице ид файла, название и общее количество скачиваний. Нужно сделать выборку на последние 10 скаченных файлов (не должны повторятся). Выводить названия и общее количество скачиваний.. Пробовал такой запрос:
Но результат вообще не тот. Файлы повторяются одни и теже. Помогите пожалуйста, как этот запрос сдеать? ![]() Это сообщение отредактировал(а) Master_ - 3.1.2008, 00:53 |
|||
|
||||
yar |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 101 Регистрация: 8.9.2007 Где: Одесса, Украина Репутация: нет Всего: 8 |
Возможно, как-то так:
--------------------
Если бы строители возводили здания так, как программисты пишут программы, первый же дятел уничтожил бы мировую цивилизацию.Джеральд Вайнберг |
|||
|
||||
vi_k |
|
|||
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 29.12.2007 Репутация: нет Всего: нет |
Уже на форуме как-то пробегало решение. Может где ошибся, но вроде бы так:
У меня MySQL 5.0.26. За работоспособность на других не ручаюсь. Заодно: так ли необходимо поле f_download? в приведённом примере подсчёт производится по логу скачиваний. |
|||
|
||||
Master_ |
|
||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 31.1.2007 Репутация: нет Всего: нет |
При таком запросе у меня выводится ошибка на предпоследнюю строку с SELECT. #1064 - You have an error in your SQL syntax; Добавлено @ 10:15 Попробовал такой запрос:
Но опять выводится с повторениями :( ЗЫ mySQL 5.. Это сообщение отредактировал(а) Master_ - 3.1.2008, 10:16 |
||||||
|
|||||||
XEugene |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 1.1.2008 Репутация: нет Всего: 2 |
|
|||
|
||||
vi_k |
|
|||
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 29.12.2007 Репутация: нет Всего: нет |
Странный у вас получился запрос. Откуда у вас в таблице ds_file взялся max_d_id? Тогда как он же должен был браться из ibf_ds_file!
Проверьте, перевёл имена таблиц в ваши. Замечу - это не теория, это практика. Я не от балды это пишу, а создал ваши таблицы и проверил на реальных данных. Всё работает, последний LIMIT не нужен, т.к. он есть во внутреннем запросе.
Попробуйте выполнить отдельно внутренний запрос, чтоб понять что происходит. В результате никак не может получиться больше 10 строк. И никак не может повториться файл с одинаковым f_id. P.S. Если вам не понятно, что происходит и откуда что берётся в этом запросе вы лучше скажите - я объясню. Мне не лень ![]() |
|||
|
||||
Master_ |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 31.1.2007 Репутация: нет Всего: нет |
vi_k, спсибо, так понятнее да и запрос заработал
![]() |
|||
|
||||
XEugene |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 1.1.2008 Репутация: нет Всего: 2 |
Прошу прощения мой запрос должен был выглядеть так
|
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
|
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |