• ベストアンサー

SELECT DISTINCT で順番指定。

下記テーブルで登録NOの若い順に項目の種類分値をとりだしたいのですが どのようにSQLを書けばいいでしょうか。 テーブル 項目................|登録NO ---------------------------------------------------------------- オルタネータ................|TOUROKU00110 オルタネータ................|TOUROKU00111 オルタネータ................|TOUROKU00112 オルタネータ................|TOUROKU00113 ミッション.......................|TOUROKU00100 ミッション.......................|TOUROKU00101 イグニッションコイル|TOUROKU00099 イグニッションコイル|TOUROKU00098 抽出結果 イグニッションコイル|TOUROKU00098 ミッション.......................|TOUROKU00100 オルタネータ................|TOUROKU00110 環境 OS:Windows XP DB Microsoft Sqlserver

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

  • ベストアンサー
  • nfushi
  • ベストアンサー率31% (39/122)
回答No.3

横からですが SELECT 項目,MIN(登録NO)AS 登録NO FROM テスト GROUP BY 項目 ORDER BY MIN(登録NO) でいけます。

obone
質問者

お礼

自己解決しました。 SELECT * FROM (SELECT 場所,登録日,項目, MIN(登録NO) FROM テーブル GROUP BY 項目,場所,登録日) WHERE 登録日="H120101" AND 場所="エンジン" ありがとうございました。

obone
質問者

補足

回答ありがとうございます。 "AS 登録NO"のところを"AS AAA"とか適当名前にしたらなりました。 後出しで申し訳ありませんがこのSQLに条件を付けるのはかのうでしょうか。 Where 場所="エンジン" AND 登録日="H120101" 項目................................|登録NO.........................場所........登録日 ---------------------------------------------------------------- オルタネータ................|TOUROKU00110....エンジン....H120101 オルタネータ................|TOUROKU00111....エンジン....H120101 オルタネータ................|TOUROKU00112....エンジン....H120101 オルタネータ................|TOUROKU00113....エンジン....H120101 ミッション.......................|TOUROKU00100....エンジン....H120101 ミッション.......................|TOUROKU00101....エンジン....H120101 イグニッションコイル|TOUROKU00099....エンジン....H120101 イグニッションコイル|TOUROKU00098....エンジン....H120101

その他の回答 (2)

  • Kyuun
  • ベストアンサー率77% (14/18)
回答No.2

No1の者です。 最終的に登録NO順で並べるのですね であれば SELECT 項目,MIN(登録NO)AS 登録NO FROM テスト GROUP BY 項目 ORDER BY 登録NO でいかがでしょう?

obone
質問者

補足

一時的にMicrosoft Sqlserverが使えないのでAccessでためしているのですが下記メッセージでエラーになるのですが ”クエリ定義のSEECTで指定されている別名'登録NO'が循環参照を発生させています" Accessだからでしょうか?

  • Kyuun
  • ベストアンサー率77% (14/18)
回答No.1

DISTINCTではありませんが・・・ GROUP BY でなら SELECT 項目,MIN(登録NO) FROM テーブル GROUP BY 項目

obone
質問者

補足

ご回答ありがとうございます。 ためしてたのですが登録NOが文字列のため下記結果になります。 オルタネータ.................|TOUROKU00110 イグニッションコイル|TOUROKU00098 ミッション.........................|TOUROKU00100

関連するQ&A