• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:最初に挿入された行だけ取得したい)

SQLで一番最初に挿入された行だけ取得する方法

このQ&Aのポイント
  • SQLで一番最初に挿入された行だけを取得する方法について解説します。
  • 具体的な例を示しながら、user_itemテーブルでuser_idが1で一番最初に挿入された行を取得するSQL文の作成方法を説明します。
  • また、他の行は取得しないようにする方法も紹介します。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

よくあるランク付けの方法を応用すればよいでしょう。 まず、id順でitem_idごとにランクをつけます SELECT id,user_id,item_id,( SELECT COUNT(DISTINCT id) +1 FROM user_item AS t2 WHERE 1 AND t1.id > t2.id AND t1.item_id=t2.item_id ) AS rank FROM `user_item` AS t1; これを元に、user_idが1、rankが1のものを抽出します。 なお上記rank項目はHAVING句に移動します SELECT id,user_id,item_id FROM `user_item` AS t1 WHERE user_id=1 HAVING ( SELECT COUNT(DISTINCT id) +1 FROM user_item as t2 WHERE 1 AND t1.id > t2.id AND t1.item_id=t2.item_id )=1;

takagoo100
質問者

お礼

ご回答有難うございます。 そのやり方でできました。 参考になりました。

関連するQ&A