56,687
社区成员
发帖
与我相关
我的任务
分享
(
select 'a' as tablename,*
from table1
where MATCH (fullindex)
AGAINST ('".mysql_real_escape_string($bool)."' IN BOOLEAN MODE)
)
UNIONE
(
select 'b' as tablename,*
from table2
where MATCH (fullindex)
AGAINST ('".mysql_real_escape_string($bool)."' IN BOOLEAN MODE)
)
Order By date DESC
limit ".$_POST['number'].",10
SELECT 'a' as t_name,id,title,model,description,date,fullindex
FROM table1 a1
WHERE MATCH (a1.fullindex) AGAINST ('+bool' IN BOOLEAN MODE) and 6>(select count(*) from table1 where source=a1.source and date>a1.date)
要花费7.6秒
想尝试LEFT JOIN HAVING COUNT的方法,但是返回数值是0.
SELECT 'a' as t_name,a1.id,a1.title,a1.model,a1.description,a1.date,a1.fullindex
FROM table1 a1
LEFT JOIN table1 b1
ON a1.id=b1.id AND a1.date<=b1.date
HAVING COUNT(b1.source)<=5
WHERE MATCH (a1.fullindex) AGAINST ('+bool' IN BOOLEAN MODE)
ORDER BY a1.date desc