PDA

View Full Version : سوال: کوئری جستجو حرفه ای



tecnocomputer2
دوشنبه 01 اردیبهشت 1393, 23:16 عصر
با سلام خدمت تمام برنامه نویسان عزیز
یک اس-کیو-ال کوئری نیاز دارم که بهترین نتایج رو بهم نشون بده، به این صورت که وقتی جستجویی انجام میدیم ترتیب نتایجی که بهمون نشون میده بر اساس یه اولویت بندی باشه:
- ابتدا نتایجی که عین اون کلمه رو دارن
- سپس نتایجی که محتواشون با اون کلمه شروع میشن
- سپس نتایجی که آخرشون با اون کلمه ختم میشه
- و در آخر نتایجی که اون کلمه رو دارا می باشن.

یک مثال:
توی جدولم این اطلاعات رو دارم:
118237

اگه کلمه ی Walking رو جستجو کنیم (با استفاده از LIKE %%) تمام این نتایج برامون نمایش داده میشن، من میخام به صورت اون ترتیبی که بالا توضیح دادم نمایش داده بشن
ابتدا row 3 باشه، چون عین این کلمه رو داره
سپس row 2 باشه چون محتواش با کلمه ای که جستجو کردیم شروع شده
سپس row 4 چون آخرش کلمه ای که جستجو کردیم رو داره
و در آخر row 1 نمایش داده بشه چون توی محتواش کلمه ای که جستجو میکردیم رو داره.

Rejnev
سه شنبه 02 اردیبهشت 1393, 00:28 صبح
سلام
میتونی با union کار کنی:

select name from tbl
where name ='walkning'
union all
select name from tbl
where name like 'walkning%'
union all
select name from tbl
where name like '%walkning'
union all
select name from tbl
where name like '%walkning%'