0

ユーザーの検索クエリを (文字列として) 受け取り、定義済みのフィールドと数量 (例: ベッドルーム = 2、max_price < 100) によってテーブルのレコードと照合する PHP/MYSQL 検索関数を作成しています。

これは正常に機能していますが、結果を条件で並べ替えたいと思います。たとえば、次のようになります。

  • ユーザーのクエリは「2 ベッドルーム ペントハウス」 です。

  • この関数は、ベッドルーム列 の値が2であるレコードに一致します。

一致する結果を保持したいのですが、値が「penthouse」の説明行に一致する結果で結果を並べ替えます (説明文字列 (多くの単語の長い文字列) の任意の場所)

説明に「ペントハウス」という単語が含まれる結果を照合することはできますが、一致した結果が最初になるように結果を並べ替えるにはどうすればよいでしょうか?

では、基本的に、別のクエリで結果をどのように並べ替えるのでしょうか?

4

1 に答える 1

3

あなたはそうしない。より複雑なORDER BY句を作成します。

SELECT ...
  ORDER BY ..., description NOT LIKE "%penthouse%"

(真の前に偽の順序があるため、式を反転します)

于 2012-07-13T17:36:29.547 に答える