URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7372
[ Назад ]

Исходное сообщение
"Запрос SQL и счетчик"

Отправлено SpiderX , 30-Сен-11 15:09 
Столкнулся с такой дилемой. Есть две таблицы - slug с полями ID слага и идентификатора имени пользователя ID_user, вторая - users, у нее поля - имя пользователя username и идентификатора пользователя ID. У каждого пользователя один и больше слагов. Как вывести ТОП скажем пяти пользователей, у которых максимально совпадают слаги с пользователем username='Vasya', пусть будет по тому же убыванию.

У меня есть идея - вывести на первом этапе слаги пользователя 'Vasya', потом считать для каждого пользователя, сколько слагов входит в данное множество слагов пользователя 'Vasya', ну а потом уже выполнять сортировку. Но только формат непонятен.

Кто знает, куда копать или решение оптимальнее, отпишитесь.
Заранее спасибо.


Содержание

Сообщения в этом обсуждении
"Запрос SQL и счетчик"
Отправлено пупс , 30-Сен-11 16:00 
может как то так?
select top 5 userAll.name, count(slug.id) as cnt from slug
inner join user as userVasya on slug.uid=userVasya.uid
inner join user as userAll on slug.uid=userAll.id
where useruserVasya.name='Vasya' and userAll.name<>'Vasya'
group by userAll.name
order by cnt desc