- ベストアンサー
データを昇順に並べる方法について
- データを昇順に並べる方法について試行錯誤していますが、エラーが発生しています。
- 「select id,name,jyusyo,kakaku,gazou,link from kensaku order by kakaku」や「select id,name,jyusyo,kakaku,gazou,link from kensaku order by kakaku asc」といったコードを試しましたが、エラーが出ています。
- 「select id,name,jyusyo,kakaku,gazou,link from kensaku [where where_definition] order by kakaku」といったコードも試しましたが、エラーが出ています。PHPプロというサイトで教えてもらった方法ですが、正しく動作しません。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
SQLでselect文を書くときは、 select フィールド名 from テーブル名 が基本になります。 でも、質問者さんが掲載したものはその後に「where」がついていますよね? こういうときは、 select フィールド名 from テーブル名 where 検索条件 という書式になります。 なので、最初に示された > $query = "select id,name,jyusyo,kakaku,gazou,link from kensaku where"; は、その後で検索条件を追加しているはずなんです。 この検索条件がなんなのかは、回答者側には判りません。(当然ですよね?) #2、3、4さんは、このことを言っています。 本来は、検索条件の「後」に並べ替えの「order by」句がきます。 でも今のまま書き換えても、書き換えた後に「検索条件」が追加されているはずなので、 select フィールド名 from テーブル名 order by ソート条件 検索条件 になるので、エラーになっているんでしょう。 検索条件を追加している場所を探して、その後で並べ替えを追加しないと書式がばらばらになって居るんですよ。
その他の回答 (5)
- edomin7777
- ベストアンサー率40% (711/1750)
#5です。 少しはSQL文について「自分」で調べた方が良いですよ? 今回の場合は、前の補足で自分が書いているとおり 「order by kakaku」 が、ソート条件でしょ? これを、 「~where」 の後で、検索条件を追加している後に追加するだけです。 「どこで、検索条件を追加しているか」は、質問者さんしか判りません。 自分で探しましょう。
補足
条件文の最後にオーダーバイつけたら良いのですね?
- kosukejlampnet
- ベストアンサー率44% (126/282)
ここまで話がかみ合わないと、回答不能です。 SQLの基礎をしっかり学んで欲しい。
- kosukejlampnet
- ベストアンサー率44% (126/282)
どんなのですかと言われても、DBの中身を知らない私に答えることはできません。どんな条件でデータを取り出したいのか分かりませんから。 あなたが、欲しいと思うような解答がなかなかつかないのも、こうした理由だからではありませんか?
補足
いや、質問内容にkakaku ascと書いてあるから、kakakuを昇順にしたいと解ると思いますが。
- kosukejlampnet
- ベストアンサー率44% (126/282)
SELECT fields FROM table Where 式 order by fields [ASC|DESC]
補足
whereの後の式とはなんですか?
- Siegrune
- ベストアンサー率35% (316/895)
>$query = "select id,name,jyusyo,kakaku,gazou,link from kensaku where"; >と書いてDBから正常にデータが取得できています。 ということは $query = "select id,name,jyusyo,kakaku,gazou,link from kensaku where"; の後に検索の条件があります。 $query = $query + "id = 1" '(文字列を連結するのは + でいいのかな?) とかで検索の条件をいれないとDBから正常にデータが取得できません。 そして、order by ・・・ は、この検索の条件の後ろに記述します。 ということで、検索の条件をDBに渡しているところをさがしてください。 その次にorder by・・・を記述するとうまくいきます。
補足
う~ん、よければ例文願います(*^_^*)
お礼
ありがとう。
補足
どのように追加したら良いですか? select * from kensaku where 検索条件 ソート文 このソート文はどのような記述をしたら良いですか?