Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.07.2012, 18:54   #1
Pamparam
Форумчанин
 
Регистрация: 08.11.2009
Сообщений: 225
Восклицание "Похожие видео" по тегам

Есть таблица с видео, есть таблица с тегами, которые связаны по id с видео.

video
id name

videotags
id tagid videoid

tags
id name

Как мне вывести максимально похожее видео для выбранного. Т.е., сначала проверять видео в которых встречается, например, 5 таких же тега, как и в выбранном, потом 4,3,2,1, пока не наберется, например, 10 видео.
Тегов может быть сколь угодно, но сортировать целесообразно по id. Как выполнить нормальный подбор?

Последний раз редактировалось Pamparam; 29.07.2012 в 19:09.
Pamparam вне форума Ответить с цитированием
Старый 29.07.2012, 19:07   #2
Pamparam
Форумчанин
 
Регистрация: 08.11.2009
Сообщений: 225
По умолчанию

я сообразил такое
сначала брать id тегов и вставлять их в IN. Потом после каждого запроса проверять кол-во строк и если < 10, то делать такой же запрос, только с уменьшением количества от 5 до 1.
Т.е. понадобится от 2 до 6 запросов. Есть другие идеи?
Код:
SELECT * FROM videotags where tagid in(1,2,3,4,5) group by videoid HAVING count(distinct id) = 5
можно ли сортировать по кол-ву найденных тегов в одном запросе?

UPDATE:
решил
Код:
SELECT * FROM videotags where tagid in(1,2,3,4,5) group by videoid order by count(distinct id) desc limit 0,10

Последний раз редактировалось Pamparam; 29.07.2012 в 19:26.
Pamparam вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужен код "похожие статьи" для HOSTCMS - куплю готовый рабочий код для hostcms "похожие новости" hplight WordPress и другие CMS 0 26.03.2012 16:57
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. воваава Помощь студентам 3 01.12.2011 12:50
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04