当前位置:Gxlcms > PHP教程 > 这句mysql语句如何排先后呀

这句mysql语句如何排先后呀

时间:2021-07-01 10:21:17 帮助过:4人阅读

这句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

------解决方案--------------------
SQL code
SELECT * FROM 
(
         SELECT * FROM `text` where `title` like '%我们%' and `title` like '%他们%'
) tt
WHERE  `title` like '%我们%' or `title` like '%他们%' limit 6;

------解决方案--------------------
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                     

人气教程排行