id title
--------------------------
1 mysql websites
2 html tips
3 mysql tricks
4 javascript tutorial
5 mysql queries
6 javascript framework
複数の行の関連記事を選択し、それらを id でグループ化して、1 つのクエリにまとめたいと考えています。それは可能ですか?
何かのようなもの
SELECT
id, title
FROM
articles
WHERE
title LIKE (TITLE_OF_CURRENT_ROW)
AND id IN (1,4)
GROUP BY
id;
そして結果は
配列 ( // id = 1 の結果 0 => 配列 ( 0 => 配列 (id => 1、タイトル => 'mysql ウェブサイト')、 1 => 配列 (id => 3、タイトル => 'mysql トリック')、 2 => 配列 (id => 5、タイトル => 'mysql クエリ') )、 // id = 4 の結果 1 => 配列 ( 0 => 配列 (id => 4、タイトル => 'javascript チュートリアル')、 1 => 配列 (id => 6、タイトル => 'javascript フレームワーク') } }
編集:
私がそれをしている理由は、 void にしたいからqueries inside loop
です。たとえば、100 行を生成してファイルに保存しています。
$result = $mysql->query("SELECT id, title FROM articles LIMIT 100");
while($row = $result->fetch_assoc()) {
$related_result = $mysql->query("SELECT id, title FROM articles WHERE title LIKE '%".$row['title']."%' AND id != ".$row['id']);
// while... get related data
save_data_to_file($row['id'], $row['title'], $related['ids'], $related['titles']);
}
上記の関連するクエリは 100 回繰り返されます。