MySQL の検索結果はキーワードで並べ替えられます
次に、フィールド内で豚、犬、牛という 3 つの単語を含むデータを検索する必要があります
について、指定したキーワードに従って結果を並べ替える方法を教えてください。たとえば、結果データを次の順序で並べ替えるとします。豚を含むものが 1 位、犬が 2 位、牛が 3 位になります。
例:
豚
牛
犬
犬
豚
牛
豚豚
犬
犬
牛
牛
------解決策のアイデア------- ----------- -----豚、犬、牛は同じ畑にいますが、上の階にはいません。
は次のように記述できます。たとえば、フィールド名は shengxiao
<br />$sqlstr = "select *,IF(shengxiao='猪啊',1, IF(shengxiao='狗啊',2,3)) as s from table order by s";<br />
create temporary table T<br /> select '猪啊' as f<br /> union select '牛啊'<br /> union select '狗啊';<br /><br /><br />select *, if(locate('猪', f), '猪',if(locate('牛',f),'牛', if(locate('狗',f),'狗',''))) as x <br /> from T order by find_in_set(x, '猪,狗,牛')
f x <br />猪啊 猪 <br />狗啊 狗 <br />牛啊 牛 <br />