0

これはここでの最初の質問なので、正しくやっているといいのですが。次の SQL クエリがあります。

SELECT *, 
  MATCH(name, descr) AGAINST ('$q') AS score 
FROM songs 
WHERE MATCH (name, descr) AGAINST('$q') 
ORDER BY score DESC

ご存知かもしれませんが、このクエリsongsは、説明または名前に一致がある場合、テーブルのすべての行からすべてを選択します。私がしたいことは、クエリを制限して、たとえば最新の 10,000 行を検索することです。また、主キーid.

4

2 に答える 2

2

ネストされたクエリが必要になります。これを試して:

SELECT temp.*, 
  MATCH(name, descr) AGAINST ('$q') AS score
FROM (
    SELECT *
    FROM songs 
    ORDER BY id DESC
    LIMIT 10000
    ) temp
WHERE MATCH (name, descr) AGAINST('$q') 
ORDER BY score DESC
于 2013-05-27T15:43:11.490 に答える