首頁  >  文章  >  後端開發  >  这句mysql语句如何排先后呀

这句mysql语句如何排先后呀

WBOY
WBOY原創
2016-06-13 13:27:03851瀏覽

这句mysql语句怎么排先后呀?
SELECT * FROM text where (`title` like '%我们%' and `title` like '%他们%') or (`title` like '%我们%' or `title` like '%他们%') limit 6

有办法先把前一个条件的(`title` like '%我们%' and `title` like '%他们%')列出来在列出后面条件的吗?

------解决方案--------------------
试试这样?

SQL code
SELECT *, ((`title` like '%我们%' and `title` like '%他们%') * 0.8 + (`title` like '%我们%' or `title` like '%他们%') * 0.2) AS relevance
FROM text
WHERE (`title` like '%我们%' and `title` like '%他们%') or (`title` like '%我们%' or `title` like '%他们%') 
ORDER BY relevance DESC
limit 6
<br><font color="#e78608">------解决方案--------------------</font><br>
SQL code
SELECT * FROM 
(
         SELECT * FROM `text` where `title` like '%我们%' and `title` like '%他们%'
) tt
WHERE  `title` like '%我们%' or `title` like '%他们%' limit 6;
<br><font color="#e78608">------解决方案--------------------</font><br>
SQL code
SELECT *, 1 as xh FROM text where (`title` like '%我们%' and `title` like '%他们%')
union
SELECT *, 2 as xh FROM text where (`title` like '%我们%' or `title` like '%他们%')
order by xh
limit 6 <div class="clear">
                 
              
              
        
            </div>
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn