【发布时间】:2022-01-12 22:54:26
【问题描述】:
我的报告看起来像这样:
| numberOrder | timestamp | id | status |
|---|---|---|---|
| 12 | 2021-06-23-14.00.00.232425 | 11 | done |
| 13 | 2021-06-30-18.00.00.224525 | 22 | done |
| 14 | 2021-07-01-01.00.00.224525 | 23 | done |
这是通过 SQL 完成的:
SELECT numberOrder, timestamp, id, status
from order
where status = 'done'
我希望报告只显示最旧的行:
| numberOrder | timestamp | id | status |
|---|---|---|---|
| 12 | 2021-06-23-14.00.00.232425 | 11 | done |
SELECT numberOrder, timestamp, id, status
from order
WHERE timestamp = (select TOP 1 timestamp FROM order by timestamp)
and status = 'done'`
有什么想法吗?我尝试使用 min()。任何帮助表示赞赏 如果我没有找到任何状态完成然后找到状态取消有什么想法吗?
如果我们没有找到任何完成状态,我希望报告只显示取消行:
| numberOrder | timestamp | id | status |
|---|---|---|---|
| 12 | 2021-06-23-14.00.00.232425 | 11 | cancel |
【问题讨论】:
标签: sql if-statement select db2 where-clause