|
MySQL.RU - Webboard
Вернуться
Сложная выборка (Oleg) 15/09/2005 - 13:38:52
Re: не усложняйте себе жизнь (Dinky) 15/09/2005 - 19:29:55
Re: не усложняйте себе жизнь (Dubrovsky) 15/09/2005 - 20:00:05
Re: велосипед? :) (Dinky) 15/09/2005 - 20:23:11
> Original message text:
> From: Oleg - 15/09/2005 - 13:38:52
> Subject:Сложная выборка
> -----------------
> Есть таблица вида
> user_id | item_id | vote
> данные
> 1 | 1 | 5
> 2 | 2 | 4
> 1 | 3 | 4
> 1 | 4 | 4
> 2 | 5 | 3
> 1 | 6 | 5
> 2 | 7 | 4
> 1 | 8 | 5
> 2 | 9 | 4
> 1 | 10 | 4
> ....
> Надо отобрать по каждому user_id (их в приведенном примере всего два) всего 3 лучших (не все) item_id (т.е. у которого наибольший vote) и записать эти отобранные данные в другую таблицу.
>
> Как это сделать по одному известному пользователю понятно:
> INSERT INTO tbl2 SELECT user_id,item_id WHERE user_id=1 ORDER by votes DESC LIMIT 3;
> , а как это же сделать по всем пользователям одним запросом??
> Помогите люди пожалуйста,
> Заранее спасибо!
>
From: Dinky - 15/09/2005 - 19:29:55
Subject:не усложняйте себе жизнь
-----------------
выберите сачала дистинктом юзеров, потом в цикле запустите свой запрос - серверу легче будет! ;)
а если чиста ради изврата - посмотрите синтаксис под-запросов (нужен mysql 4.1.x) в доке
--
Dmitry
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
24028
|
|