• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MySQLのレコードの並び変えについて)

MySQLのレコードの並び変えについて

このQ&Aのポイント
  • MySQLのレコードの並び変えについてです。開発環境はMySQL 5.0.95とPHP Version 5.3.3です。指定したテーブルで「野菜」と検索した際の並び順について説明します。
  • 検索結果の並び順を適切に表示するための方法について、参考ページを提供します。
  • 初めに「title」にあったものを表示し、次に「content」にあったものを表示させる方法があります。また、1回のSQLで実現する方法についても検討しています。ご助言いただけると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • int3
  • ベストアンサー率34% (65/190)
回答No.1

mysqlのバージョンが古いですが、最新のバージョンだと普通に1行になるみたいですけど。 union allでもしないかぎり最初のテーブルでみるので、title, contentとか関係なく一緒になります。 微妙に値がちがう(空白があるとか)そういうのじゃないんでしょうか? カラム名が問題なら as とかでrenameしてunionするとどうなるのでしょう?

pluto22
質問者

お礼

ご回答いただきましてありがとうございました。 UNIONとUNION ALLの区別がよくわかっていないませんでした。 教えていただいた通りUNIONで問題ありませんでした。 下記のSQLで取得できました。 SELECT * FROM `hoge` WHERE title LIKE '%野菜%' UNION SELECT * FROM `hoge` WHERE content LIKE '%野菜%' 実際のテーブルでSQLを走らせると問題ないのですが、 PHPから取得できないのでさらに確認しています。 希望どおりの方法を教えていただきありがとうございました。