Blu*_*ppy 5 sql t-sql sql-server-2008
我在SQL Server中有一个表,用于保存由BusinessDataDate组织的数据.BusinessDataDate仅为日期(无时间组件),仅在工作日填充.例如,不是周末或公众假期.
因为没有具体的订单,我想找到 date before the current max date
这个查询有效,我可以将值设置为局部变量 - 但感觉必须有一个更清洁的方式?
SELECT MAX(BusinessDataDate) FROM myTable
WHERE BusinessDataDate < (SELECT MAX(BusinessDataDate) FROM myTable)
Run Code Online (Sandbox Code Playgroud)
每个日期在表中都有多行 - 确切的数字是不可预测的.
与您的原始查询类似,但使用 top 1 怎么样?
SELECT Top 1 BusinessDataDate
FROM myTable
WHERE BusinessDataDate < (SELECT MAX(BusinessDataDate) FROM myTable)
ORDER BY BusinessDataDate DESC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
116 次 |
| 最近记录: |