2014-01-11 96 views
0

我有一些標籤名稱AA表和有專長領域像下面如何在sql查詢中添加自定義排序順序?

TID TAGS 
1 Cars 
2 Luxury Cars 
3 4 wheel drive cars 

和我有一樣

select * from tablename where tags like '%Cars%' OR like '%Luxury%'; 

查詢現在我得到的結果,但我想展現的標籤在第一行有最多的關鍵字。

例如:如果我通過豪華和汽車,然後我想得到如下結果。

Luxury Cars 
Cars 
4 wheel drive cars 

我希望你明白我的意思嗎?

還有一件事,我想知道有沒有其他很好的方法來做到這一點。 我想要搜索功能,如谷歌。

+1

「我想要搜索功能,如谷歌。」 - 祝你好運。 –

回答

4

您可以通過使用order by子句中的表達式來完成此操作。

select * 
from tablename 
where tags like '%Cars%' OR like '%Luxury%' 
order by (tags like '%Cars%') + (tags like '%Luxury%') desc; 

MySQL將布爾值結果視爲數字。所以將它們加在一起給出了匹配的數量。