ここに初めて投稿する。貧弱なフォーマットのおかげで他の2つのフィールドでグルーピングする際の最大datetimeの検索 - SQLクエリ
注文情報を含む表があります。その中には主キーOrderIDがあります。これは、誰かがカートを作成したときに生成されます。手元にあるタスクは、同じ電子メールアドレスを使用して最後に購入した注文(この場合は60日とする)を示すことです。だから、基本的な選択は、次のようになります。
SELECT orderid,purchasedate,emailaddress FROM basket
今 - トリッキーな部分は、MAX(受注)とpurchasedateは必ずしもあなたがそれらを期待するどのように動作しないことです。つまり、同じ電子メールアドレスを持つ人は、1月にカートを起動し、3月に新しいカートを作成して元のものを購入している可能性があります。このシナリオでは、最も大きなIDが必ずしも最後に購入されたとは限りませんので、単にmax orderIDを取得することはできません。最終的に私が探している出力は、 "CurrentOrderID | EmailAddress | CurrentPurchaseDate | PreviousOrderID | PreviousPurchaseDate"のようになります。
問題は少し難解です。基本的に私は最近購入したBY emailaddressを選択しようとしていますが、対応するorderIDも含んでいます。
ありがとうございます。
どのRDBMSを使用していますか? –
ようこそStackOverflowへ!サンプルデータとそれに基づいて正確な出力を提供してください。 [良いSQLの質問方法](https://meta.stackoverflow.com/a/271056/1920232) – peterm
申し訳ありませんが、それを含める必要があります。 SQL Server 2012 –