我正在将 MySQL 查询移植到 Oracle。
INSERT INTO
"stagedInserts" ("systemId", "timestamp")
SELECT
:systemId AS "systemId", "d"."time" AS "timestamp"
FROM
"data" "d"
WHERE
"d"."systemId" = :systemId
GROUP BY
TRUNC("d"."time"/900)
GROUP BY 旨在与"time" DIV 900
MySQL 中的等效,以确保我们最终每 15 分钟(900 秒)间隔只有一个时间戳。
上面的查询结果ORA-00979: not a GROUP BY expression
。
但是,如果我将 GROUP 添加到 SELECT 中,我们最终会得到:
SELECT
:systemId AS "systemId", "d"."time" AS "timestamp", TRUNC("d"."time"/900)
结果是:ORA-00913: too many values
。
我该如何解决这个问题?