私のSQLリクエストは、リサーチテキストで始まるテキストフィールドを返します。
SELECT field1, field2 FROM mytable
WHERE field1 ILIKE 'ex%' OR UNACCENT(field2) ILIKE 'ex%'
そして、別のリクエストも同じことをしますが、必ずしも研究テキストで始まる必要はありません。
SELECT field1, field2 FROM mytable
WHERE field1 ILIKE '%ex%' OR UNACCENT(field2) ILIKE '%ex%'
最初のリクエストの結果とそれに続く2番目のリクエストの結果を返す方法を探しています。可能であれば、2番目のリクエストは最初のリクエストの結果も返すため、結果が重複することはありません。
または、最初に「begins by」を注文し、残りの部分に続いて(begins byではなく)注文することもできますか?
手伝ってくれてありがとう
like '%ex%'
すべての行を返すために、1つのクエリを実行するだけです。次に、最初に行ORDER BY
を返すを追加しますlike 'ex%'
。
SELECT field1, field2 FROM mytable
WHERE field1 ILIKE '%ex%' OR UNACCENT(field2) ILIKE '%ex%'
ORDER BY field1 ILIKE 'ex%' OR UNACCENT(field2) ILIKE 'ex%' DESC
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加