• 締切済み

SQLの2行取得

こんばんは PHP+MySQLで1月~12月までのテーブルがあるのですが 1行目から12月のデータを1行目から1月のデータを取得して 並べて表示したいのですが、どういうコードを書けばいいか すみませんが、教えてください。 お願いします。

みんなの回答

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.5

> 1月~12月までのテーブルがあるのですが 一つのテーブルに年月別レコードがあるのなら Whereで最終年月を指定して、年月の昇順のOrderとLimitで2行に絞れば?

全文を見る
すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.4

テーブル構成、カラムの状況を具体的な例示をして どういうロジックで、どんな結果を表示したいか書けば SQLの例示もできるかと思いますが 現在の提示ではあまりに概念的すぎて回答のしようがないというのが 正直なところです。 どうせこちらが適当だとおもう回答をすると後だしで、 別の条件提示をしてさらに混乱が深まるのでしょ?

全文を見る
すると、全ての回答が全文表示されます。
  • tkf-
  • ベストアンサー率58% (821/1398)
回答No.3

> 年のデータはあります。 > 1行目の12月のデータと2行目の選択するコードが分からないので 具体的にどういう風に取得したいのかが見えません。 場合によってはSQLで処理せずにPHP側で処理する方が良い事もあります。 ・テーブルは、1~12月の12個あるのでしょうか?  →テーブルの設計に問題はありませんか。 ・出力の1行目に12月、1月を一緒にしたいのでしょうか?  1行目に12月、2行目に1月、と取得したいのでしょうか? ・1行目は取得できるが、その後の2行目以降が分からないという事でしょうか? もう一度整理して質問してください。

全文を見る
すると、全ての回答が全文表示されます。
  • trajaa
  • ベストアンサー率22% (2662/11921)
回答No.2

文章に矛盾があり結局何をどうしたいのか不明 テーブルが12本あると言うことに間違いないか? 1月のテーブル 2月のテーブル ・・・・ で問題は『1行目から12月のデータを1行目から1月のデータを取得して並べて表示したい』 これをどう解釈するか? 異なるテーブルのデータを並べるという意味であれば ・1行に1月から12月のデータを並べて出したいのか? ・1行目から12月のを、その続きで1月のデータを並べたいのか? 質問文を整理するか、或いは頭の中を整理する必要があるんじゃ無いだろうか

全文を見る
すると、全ての回答が全文表示されます。
  • tkf-
  • ベストアンサー率58% (821/1398)
回答No.1

> 1行目から12月のデータを1行目から1月のデータを取得して 12月のデータ 翌年1月のデータ 翌年2月のデータ ・・・ という事でしょうか。 そのデータに年があれば、年を含めたソートでできます。 データに年がないとすると、データベース設計に問題があります。 表題通り、2行(12月と1月)だけで良いのであれば、2行分選択して逆順にすれば良いだけの事ですがいかがでしょう。

IWAYOSHI_2082
質問者

補足

ご回答ありがとうございます。 年のデータはあります。 1行目の12月のデータと2行目の選択するコードが分からないので よかったら教えてください。 よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • MySqlのテーブルのサイズを取得したい。

    PHP4.3とMysql4.1でプログラムを組んでいます。 Mysqlでテーブルのデータサイズを調べる方法はあるのでしょうか? いろいろググってもみたのですが、うまく見つけることができずお聞きすることにしました。 phpMyAminなどではディスク使用量 ~バイトというように表示されますよね。 こんな感じでPHPで取得したいのです。 恐れ入りますが、ご教授していただければ幸いです。

    • ベストアンサー
    • PHP
  • MySQLでinsertした行を取得する

    table t1 id name ------- 1 aaa 2 asv 3 aae といったauto incrementのidを持ったテーブルt1を考えたときに mysql_queryで新規行をinsertした場合にそのidを取得するような ことはできるのでしょうか? phpのmanualを参考にしたところ出来ないような感じのことが書かれて いたのですが,このようなことは頻繁に必要な気もするのですが・・・ 既に考えた案としては ・auto incrementを外して最大のidの1つ上を指定してinsertする ・一度lockしてからinsertして最大のidを取得する というものです もっと1つの関数かなにかでスマートに書けたらいいのですが

    • ベストアンサー
    • PHP
  • Mysqlで最新の日付を持つデータを取得するSQLを書きたい

    Mysqlで最新の日付を持つデータを取得するSQLを書きたい 管理テーブル(MySql) 日 付|食べたもの ----------- 4月1日|パン 4月2日|ご飯 4月3日|パン 4月4日|パン 4月5日|ご飯 4月6日|カレー と言ったデータがあったとき パンを食べた最新の日付を取得したいとき どんなSQLを書けばいいのでしょうか? SELECT * FROM 管理テーブル WHERE 食べたもの = パン ORDER BY 日付 DESC LIMIT 1; とすれば、思うような結果が出ましたが LIMITは使いたくありません また 日 付|食べたもの ----------- 4月4日|パン 4月5日|ご飯 4月6日|カレー 上記のように 食べたのもそれぞれの最新の日付を表示して 一覧にしたいとき(表現ベタですみません) どんなSQLになりますか?

    • ベストアンサー
    • MySQL
  • PHPのパラメータ取得について

    PHPでMySQLのテーブル情報(コードごと)に取得して表示する方法についてご教授ください。 ブログやショッピングサイトでよく見かける項目ごとに動的な一覧画面を作りたいと思っております。 単純にMySQLのテーブルに登録した情報をすべて取得して表示する方法は参考書等で理解、動作確認はできるのですが、例えば下記のようなid=123の登録だけを取り出して動的なURLページを作り出す方法がわかりません。 http://example.com/category.php?id=123 私が持っている参考書では動的なページ解説までは書かれておらず、色々とネットでも検索して調べてはみたのですが(検索の方法が悪いのかもしれません)・・・ 上記のようなことが詳しく(初心者でもわかるように)書かれている情報等がありましたら教えてください。 よろしくお願いします。

    • 締切済み
    • PHP
  • MySQLにてランダムにデータを取得

    PHP4+MySQL4を使用しています。 MySQLのデータベースから、ランダムにデータを取得することはできますでしょうか? データを取得してPHPで乱数を発生させて、データをランダムに表示するという事は出来たのですが、取得の際にランダムで、というのは出来るのでしょうか? 宜しくお願い致します。

  • DB(MySQL)から複数行のデータを取り出す方法

    最近PHPを勉強していて、初歩的な質問で申し訳ないのですが どうしてもわからないので質問させていただきます。 例えば、MySQLに以下のようなデータがあります。   年齢 名前 性別   28  AAA  男   20  BBB  男   25  CCC  女 ここで男のレコードだけ取り出したいと思い 以下のようなコードを書きました。   //MySQLへデータを保存する。   mysql_connect("localhost","root","");   mysql_select_db("DB名");   //データの取得   $id = mysql_query("SELECT '年齢','名前','性別' FROM テーブル名 WHERE '性別' = '男'");   $array=mysql_fetch_row($id); この場合、2行のレコードが選ばれるはずですが 後ろのレコードへのアクセスの仕方がわかりません。 $arrayには性別=男に該当する、一行目のレコードが入っています。 二行目のレコードへはどうやってアクセスすればよいのでしょか? 調べてもなかなかうまくいかずご質問させていただきました。 ご回答お願いします。

    • ベストアンサー
    • PHP
  • データの取得方法

    いつもお世話になっております。 MySQLとPHPで開発をしております。 以下のような2つのテーブルがあります。 テーブル:Order(キー:OrderNo,OrderSubNo) OrderNo|OrderSubNo|yen |・・・・| 1 |1 |1000|・・・・| 1 |2 |1050|・・・・| 2 |1 |2000|・・・・| 3 |1 |980 |・・・・| 3 |2 |525 |・・・・| 3 |3 |2500|・・・・| テーブル:mOrder(キー:OrderNo,OrderSubNo) OrderNo|OrderSubNo| 1 |1 | 2 |1 | 3 |2 | 3 |3 | mOrder にあるデータは表示しないようなクエリを発行したいと 思っております。 取得したいデータは以下のようになります。 OrderNo|OrderSubNo|yen |・・・・| 1 |2 |1050|・・・・| 3 |1 |980 |・・・・| 何か方法はありますでしょうか。 よろしくご教示お願いいたします。 <環境> MySQL:3.23.58

    • ベストアンサー
    • MySQL
  • 画像データの取得と格納

    原因がなにかわからず困っています。 アドバイスをください。 やりたいことは -------------------------------------------------- (1)一時保管用のテーブル内から画像データをPHPにて表示。 (2)その後、他のテーブルに画像ファイルを格納。 -------------------------------------------------- (1)は取得できていて表示も可能。 ただ、それをAテーブルに格納すると画像データが壊れているのか×マークで表示され画像が表示できない。 プロパティで表示したときの画像パスから直接画像を表示しても表示できず。 phpMyAdmin上で画像ファイルを差し替えると表示可能。 以上のことからデータの内容が破損と思われる。 Aテーブルに格納する際、$temp_dataのバイナリを取得したものをそのまま放り込んでいますがこれがいけないのでしょうか? バイナリ以外のデータは正常に格納できています。 問題の画像データはJPEGで 取得・格納のデータ型はlongblob型。 mysql 5.0.67 php 5.2.6 Linux RedHat 2.6.9-78.ELsmp 本当に困っています。 よろしくお願いします。

    • 締切済み
    • PHP
  • SQLで取得可能でしょうか

    SQLで取得可能でしょうか 今2つのテーブルがあるとします。 ---------------------- テーブル1  KEY    項目   1   テスト1   2   テスト2   3   テスト3 ----------------------- ---------------------- テーブル2   CD  名称    1   か   1   き   2   さ   2   し   2   す   3   た ----------------------- テーブル1のKEYはキーで重複しません。 テーブル2のCDは重複しますが、内容はテーブル1のKEYとリンクします。 今、テーブル1のKEY1件につき、データを1件取得したいのですが、 テーブル2の名称も取得したいです。 データは1件しか取得しない為、名称は、特定文字(例として/)で 区切って取得したいです。 期待したい結果 ----------------------  KEY  名称   1  か/き   2  さ/し/す   3  た ---------------------- このような取得は可能でしょうか? 尚、SQLの発行は1回のみで行いたいです。 よろしくお願いします。

  • 一度に関連する他のテーブルの行も取得したい

    MySQLバージョン4.1.16を使用しています。 ちょっとPHPも絡んでくるのですが、こちらのジャンルでお願いします。 テーブル「items」はテーブル「users」のuser_idカラムを 外部キーとして持っています。ここで「users」テーブルの行を取得して、 その値(user_idのaaaaやbbbbなど)を利用して 「items」テーブルのそれぞれ対応する行を取得したいのですが、 $users = (usersテーブルの行を取得するSQL文); $index = 0; foreach ($users as $row) { $users[$index]['items'] = (user_idに対応したitemsテーブルの行を取得するSQL文); $index++; } print_r($users); /* Array (  [0] => Array   (    [user_id] => aaaa    [items] => Array     (      [0] => Array       (        [user_id] => aaaa        [item_name] => アイテム1       )      [1] => Array       (        [user_id] => aaaa        [item_name] => アイテム2       )     )   )  [1] => Array   (    [user_id] => bbbb    [items] => Array     (      [0] => Array       (        [user_id] => bbbb        [item_name] => アイテム3       )     )   ) ) */ と、このように2段階に分けてやれば取得できるのですが、 そうではなくてこれを一度に取得できるSQL文というかやり方はあるのでしょうか? $users = (usersテーブルの行を取得するSQL文);←この段階でそれぞれ対応してるitemsテーブルの行まで取得したい

Pocketalkのボタンの反応
このQ&Aのポイント
  • ボタンの反応がない問題について
  • 長押しで画面が変わり、音声入力ができない
  • ソースネクスト株式会社の製品・サービスに関する疑問
回答を見る