问题描述
我有一个像 https://dbfiddle.uk/?rdbms=postgres_11&fiddle=b39a248ac9dde6400795e8a236e58d02 这样的 Postgres 表,它按预期工作。但是当我在cubejs 中使用该sql 查询时,它似乎工作变慢或有些时间无法加载。
cube(`State`,{
rewriteQueries: false,sql: `WITH cte AS (
SELECT
id,timestamp,machineid,state,next_state,start_time,end_time,gs,lag(gs) over (PARTITION BY id ORDER BY gs)
FROM
(
SELECT
disTINCT timestamp,id,timestamp as start_time,lead("timestamp",1,timestamp) OVER (PARTITION BY machineid ORDER BY timestamp) as end_time,lead("state",state) OVER (PARTITION BY machineid ORDER BY timestamp) as next_state
FROM mstate WHERE ${FILTER_ParaMS.Machine.machineid.filter('machineid')}
) a
LEFT JOIN LAteraL
generate_series(start_time::date + 1,end_time::date,interval '1 day') gs
ON TRUE
)
SELECT
id,COALESCE(lag,start_time) AS start_time,gs - interval '1 second' AS next_time
FROM
cte
WHERE gs IS NOT NULL
UNION
SELECT disTINCT ON (id)
id,CASE WHEN start_time::date = end_time::date THEN start_time ELSE end_time::date END,end_time
FROM
cte
ORDER BY start_time ASC`,});
你能帮我在 Cubejs 中构建正确的 schema sql,因为它像链接中的原始查询一样按预期工作吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)