我正在使用下面的基本选择查询来显示我的表中最新的20行。MySQL:获取每个选定行的相关结果
SELECT * FROM my_table ORDER BY id DESC limit 0,20
那么我想相关的结果上述每个选定的行...什么我目前做的是运行在之后在一个循环的每一行“PHP”查询..
SELECT * MATCH (title)
AGAINST('$main_title'IN NATURAL LANGUAGE MODE)AS
score FROM my_table MATCH(title) AGAINST('$main_title'IN NATURAL LANGUAGE MODE)
HAVING score > 10 ORDER BY score DESC
所以完整的“PHP”的代码如下所示:
<?php
// First Query
$query= mysql_query("SELECT * FROM my_table ORDER BY id DESC limit 0,20");
$result = mysql_query($query)
while($row = mysql_fetch_array($result)){
echo "Main Topic: ".$row['title'];
$main_title = $row['title'];
echo "Related to this Topic:";
// Second Query
$related_query= mysql_query("
SELECT * MATCH (title)
AGAINST('$main_title'IN NATURAL LANGUAGE MODE)AS
score FROM my_table MATCH(title) AGAINST('$main_title'IN NATURAL LANGUAGE MODE)
HAVING score > 10 ORDER BY score DESC
");
$related_result = mysql_query($related_query)
while($related_row = mysql_fetch_array($related_result)){
echo "<br>". $related_row['title'];
}
}
?>
,但我知道,在非常低效运行的一个循环内的第二次查询,所以我想这些“相关的结果”也在主q uery(或在单独的单个查询,而无需在循环中运行)
基本上我正在寻找一种方法做同样的,更有效地..
是有办法我可以做这个?
谢谢
定义“相关结果”,以便我们不必猜测:) – Ashalynd
相关结果是在每个选定行中针对“标题”列的全文搜索... – nidahasa