私は、BusinessDataDateによって整理されたデータを保持するテーブルをSQL Serverに持っています。 BusinessDataDateは日付のみであり(時間コンポーネントなし)、営業日に設定されます。例えば週末や祝日ではありません。SQLで「次の、しかし最新の」日付を見つける最良の方法は?
これには特定の順序はありませんので、私はこのクエリは動作しますが、私はローカル変数に値を設定することができますdate before the current max date
を見つけたい - しかし、きれいな方法がなければならないようにそれは感じていますか?
SELECT MAX(BusinessDataDate) FROM myTable
WHERE BusinessDataDate < (SELECT MAX(BusinessDataDate) FROM myTable)
各日付には複数の行があります。正確な数値は予測できません。
あなたのアプローチは問題ありません。最後のx日だけをフィルタリングするために、メインとサブクエリの両方にwhere句を追加すると、パフォーマンスが向上する可能性があります。 –
私はそれを試してみるかもしれません...しかし、中東ではあまりにも漠然としています。 Eidは3〜6日で、週末と一致していれば、10日の範囲にすることができます。 – BlueChippy