【发布时间】:2021-06-09 11:58:58
【问题描述】:
我正在尝试从一个事件中选择一个特定事件,该事件可以有多个具有相同 ID 的记录。
SQL 查询是这样的:
EXEC SQL
SELECT ID,
NAME,
DATE,
TIME
FROM EVENT
WHERE ID = 100
AND NAME = 'John'
END-EXEC.
查询结果可以有多个记录。
结果集:
ID NAME DATE TIME
100 JOHN 2021-06-06 12.11.23
100 JOHN 2021-06-09 12.11.23
100 JOHN 2021-06-07 12.11.23
这导致 -811 我继续我的程序逻辑。 在这里我想选择最新事件,即 100 JOHN 2021-06-09 12.11.23
因此我应用了 ORDER BY 子句。
EXEC SQL
SELECT ID,
NAME,
DATE,
TIME
FROM EVENT
WHERE ID = 100
AND NAME = 'John'
ORDER BY DATE DESC,
TIME DESC
END-EXEC.
获取结果集为:
ID NAME DATE TIME
100 JOHN 2021-06-09 12.11.23
100 JOHN 2021-06-07 12.11.23
100 JOHN 2021-06-06 12.11.23
因此将选择的第一条记录是 100 JOHN 2021-06-09 12.11.23, 但奇怪的是,当我运行程序时,第二个事件即 100 JOHN 2021-06-07 12.11.23 被选中。
我的要求是选择我通过 DESC 订购的最新活动,但仍然 没有成功。请指教。
【问题讨论】: