我的腳本有:SQL腳本訂購
select * from users where...
where子句將有兩個部分,他們需要訂購這種方式:
1. where description = "query"
2. where description = "%query%"
有一些方法來做到哪裏描述= 「查詢」爲1或描述=「%query%」爲2並對其進行排序?
我的腳本有:SQL腳本訂購
select * from users where...
where子句將有兩個部分,他們需要訂購這種方式:
1. where description = "query"
2. where description = "%query%"
有一些方法來做到哪裏描述= 「查詢」爲1或描述=「%query%」爲2並對其進行排序?
用途:
SELECT a.*,
1 AS sort
FROM USERS a
WHERE a.description LIKE 'query'
UNION ALL
SELECT b.*,
2 AS sort
FROM USERS b
WHERE b.description LIKE '%query%'
ORDER BY sort
[MySQL中的SQL訂購]的
+1 OMG,很順我的思路,所以你一定是對的。 ;)一個有用的調整將是改變第二個WHERE包含一個'AND b.description <>'查詢''以防止同一用戶在結果中出現兩次。 – 2011-05-26 06:56:20
@答:我認爲從長遠來看,全文搜索(FTS)將是一個更好的主意。 – 2011-05-26 06:57:55
可能重複(http://stackoverflow.com/questions/6134509/sql-ordering-in-mysql) – 2011-05-26 07:01:23