• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:group by がうまくいきません。)

グループ化したデータから最小ステータスの受付日を抽出する方法

このQ&Aのポイント
  • 上記の質問文章では、管理番号でグループ化されたデータから最小ステータスの受付日を抽出する方法を求めています。
  • 通常は、SELECT文のGROUP BY句を使用して管理番号でグループ化し、MIN関数を使って最小ステータスを取得します。
  • ただし、受付日がステータスごとに異なる場合には、一意な最小ステータスの受付日を抽出するためには別の方法が必要です。

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

  • ベストアンサー
  • PXU10652
  • ベストアンサー率38% (777/1993)
回答No.2

「受付日をステータスが一番小さな管理番号 でグループ化し、表示することはできますでしょうか?」  管理番号でグループ化した時点で、最小のステータスは抽出できますが、受付日はどのデータが抽出されるかは不定です。  なので、一旦ステータスと受付日を連結して、一つの項目(抽出用)にしてしまい、その最小値を抜き出してはどうでしょう? SELECT 管理番号, Min(ステータス & 受付日) AS 抽出用 FROM ステータステーブル GROUP BY 管理番号  こうすれば、以下のデータが抽出できるので、これを一旦テーブルに出力し、あとは、「抽出用」の項目の先頭2桁と残りの受付日に分割すれば、良いのではないでしょうか? 管理番号 抽出用 502035 302012/09/25 502036 102012/09/28 502037 102012/09/29

seido4818
質問者

お礼

回答、ありがとうございます。日付型とテキストを&結合して、Minが取れるんですね!助かりました。この方法で、抽出用をLEFTとRIGHTで分割して、無事に取得することができました。 ありがとうございました。

その他の回答 (2)

  • PXU10652
  • ベストアンサー率38% (777/1993)
回答No.3

「受付日をステータスが一番小さな管理番号 でグループ化し、表示することはできますでしょうか?」  管理番号でグループ化した時点で、最小のステータスは抽出できますが、受付日はどのデータが抽出されるかは不定です。  なので、一旦ステータスと受付日を連結して、一つの項目(抽出用)にしてしまい、その最小値を抜き出してはどうでしょう? SELECT 管理番号, Min(ステータス & 受付日) AS 抽出用 FROM ステータステーブル GROUP BY 管理番号  こうすれば、以下のデータが抽出できるので、これを一旦テーブルに出力し、あとは、「抽出用」の項目の先頭2桁と残りの受付日に分割すれば、良いのではないでしょうか? 管理番号 抽出用 502035  302012/09/25 502036  102012/09/28 502037  102012/09/29

回答No.1

具体的な失敗結果を提示して頂けますと、蓋し比較的に回答を申し上げやすくなるでしょう。

関連するQ&A