我需要查询orientDB以检索按天聚合的数据。 E.g:
SELECT OCCURRENCE, COUNT(1) AS NBR_VALUES FROM
(
SELECT END_PROCESSING.asDate().format('yyyy-MM-dd').asDate().asLong() AS OCCURRENCE
FROM MY_TABLE
WHERE END_PROCESSING >= ? AND END_PROCESSING <= ?
)
GROUP BY OCCURRENCE
但是我需要根据我的客户端时区(网络浏览器)执行此聚合。
理想情况下,它会与此类似:
SELECT END_PROCESSING.asDate('Europe/London')
有没有办法实现这一点,还是需要在上层(Java)上进行聚合?
答案 0 :(得分:0)
根据我对oracle db的经验建议。 如何使这个存储过程?您可以使用数据返回对象。接受限制作为参数。从上层获取参数(javascript / java)。
我的意思是(请翻译成你的db语法):
FUNCTION get_data(I_time1 TIMESTAMP, I_time2 TIMESTAMP)
RETURNS --your object type here---
IS
BEGIN
SELECT OCCURRENCE, COUNT(1) AS NBR_VALUES INTO --your objects here--
FROM
(
SELECT END_PROCESSING.asDate().format('yyyy-MM-dd').asDate().asLong() AS OCCURRENCE
FROM MY_TABLE
WHERE END_PROCESSING >= I_time1 AND END_PROCESSING <= I_time2
)
GROUP BY OCCURRENCE;
RETURN --your object--
;
END;
/