我在SQL Server中擁有一個表,用於存放由BusinessDataDate組織的數據。 BusinessDataDate僅是一個日期(無時間組件),僅在工作日內填充。例如不是週末或公共假期。什麼是在SQL中查找「下一個但最新」日期的最佳方法?
因爲沒有特定的順序這一點,我想找到date before the current max date
此查詢的工作,我可以設置的值到本地變量 - 但它的感覺就像必須有一個更清潔的方式?
SELECT MAX(BusinessDataDate) FROM myTable
WHERE BusinessDataDate < (SELECT MAX(BusinessDataDate) FROM myTable)
每個日期將在表中有多行 - 確切的數字是不可預測的。
您的方法很好。在main和subquery中添加where子句以僅過去x天過濾可能會提高性能。 – 2013-04-22 11:37:16
我可能會嘗試......但是,在中東地區工作時,它有點模糊地猜測。開齋節可能需要3-6天,如果與週末一致,那麼情感上可以有10天的範圍。 – BlueChippy 2013-04-22 12:03:09