Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отбрасывание похожих результатов 
:(
    Опции темы
vasmt
Дата 17.4.2010, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 8.10.2007

Репутация: нет
Всего: 1



Пишу поисковик для локальной сети. Данные заношу в БД, где имеются следующие таблицы:

File:
1. Id (PK)
2. DirectoryId (FK)
3. Name

Directory
1. Id (PK)
2. ServerId (FK)
...

Server
1. Id (PK)
...

При поиске файлов по имени провожу полнотекстовый поиск по столбцу Name (таблица File) и путем Join-ов присоединяю таблицы Directory и Server. В итоге у меня получается полная информация о найденных файлах.
При поиске возникает проблема: например, если искать фразу 'mp3', то сервер выдает огромное количество "очень похожих" результатов, например:

\\COMP\Music\Track01.mp3
\\COMP\Music\Track02.mp3
\\COMP\Music\Track03.mp3
...
\\COMP\Music\Track250.mp3

Можно ли заставить SQL-серверу не генерировать похожие результаты? Или как-нибудь ограничить количество результатов для одного компьютера.

Также интересует вопрос: я могу запросить 100 первых результатов поиска. Как можно запросить результаты с 100-го по 200-й или с 200-го по 300-й и т.п. ?




PM MAIL   Вверх
Zloxa
Дата 18.4.2010, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(vasmt @  17.4.2010,  22:13 Найти цитируемый пост)
 как-нибудь ограничить количество результатов для одного компьютера.

Код

select *
from (
  select t.*, row_number() over (partition by t.ServerId order by t.id) rn
  from Directory t
) s
where rn < 100

Цитата(vasmt @  17.4.2010,  22:13 Найти цитируемый пост)
Как можно запросить результаты с 100-го по 200-й 

Код

...
where rn between 100 and 200


Это сообщение отредактировал(а) Zloxa - 18.4.2010, 12:19


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Neymexa
Дата 19.4.2010, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 11.12.2008

Репутация: нет
Всего: нет



почитай про команду 
Код

top

PM MAIL   Вверх
Zloxa
Дата 19.4.2010, 09:10 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(Neymexa @  19.4.2010,  08:46 Найти цитируемый пост)
почитай 

Прочитал.
И что? Объясни дебилу - на что ты так тонко намекаешь?
По мне так тут применимость top только по укурке присниться может.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
tusha
Дата 19.4.2010, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 17.7.2008

Репутация: нет
Всего: 1



c 200 по 300

Код

select i=identity(int,1,1), * into tab from table

select  top 100 * from (select * from tab where i<=300 order by i decs)  t


Это сообщение отредактировал(а) tusha - 19.4.2010, 15:31
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.1291 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.