• ベストアンサー

2件目のデータを取得する

お世話になります。 データベース:SQLSERVER2005 テーブル名:URIAGE_TABLE 項目:URIAGE_CODE、URIAGE_DATE、URIAGE_KINGAKU 上記テーブルの、2件目のデータのみを取得 するSQL文をを知っている方いますか? どうぞ宜しくお願いします。

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

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

SQL Server にはOracleのROWNUM擬似列のようなものはないので、Orderのない状態ではWHERE ROWNUM=2のような 簡単なとり方はできないと思います。 そこまでやることに意味があるかはわかりませんが、あえてやるなら SELECT TOP 2 URIAGE_CODE,URIAGE_DATE,URIAGE_KINGAKU FROM URIAGE_TABLE EXCEPT SELECT TOP 1 URIAGE_CODE,URIAGE_DATE,URIAGE_KINGAKU FROM URIAGE_TABLE もし、Orderを切れるのならば、ROW_NUMBERが使えますので、そちらの方が普通です。 SELECT URIAGE_CODE,URIAGE_DATE,URIAGE_KINGAKU FROM (SELECT ROW_NUMBER() OVER (ORDER BY ソートキー) SEQ, * FROM URIAGE_TABLE) tmp WHERE SEQ=2

nihonbashi
質問者

お礼

詳細SQL文を有難うございました。 一発取得は無理ですか...。