我正在將Oracle查詢移植到Oracle。插入...用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
。
但是,如果我的組添加到SELECT,所以我們結束:
SELECT
:systemId AS "systemId", "d"."time" AS "timestamp", TRUNC("d"."time"/900)
它導致:ORA-00913: too many values
。
我該如何解決這個問題?
這是一個mySQL似乎被「破壞」給我們這些不使用它的人的例子!如果你的'data'表包含時間值爲1,2,3,... 899的':systemId'的行,那麼mySQL在'time/900'分組後將'storedInserts'中存儲哪一個?無論答案是什麼,它都是任意的。 –