在以下查询中,为1小时时间间隔内存在的每个属性输出1:
selectedColumn
如何修改此项以便为不在时间间隔内的每个属性输出0?
答案 0 :(得分:2)
在评论中,您声明table2
具有完整的属性列表。如果是这种情况,请将table1
加入table2
:
select t2.attribute, count(t1.attribute)
from table2 t2
LEFT OUTER JOIN table1 t1
ON t2.attribute = t1.attribute
AND t1.timestamp >= trunc(sysdate-1/24, 'HH')
AND t1.timestamp < trunc(sysdate, 'HH')
group by t2.attribute;
将WHERE
子句中的时间戳过滤器转换为ON
LEFT OUTER JOIN
子句,以确保在table1
执行LEFT OUTER JOIN
之前截断LEFT OUTER JOIN
中的结果。 table2
将从table1
中选择所有记录,并且仅在应用过滤器后选择与t1.attribute
匹配的记录。
然后计算t2.attribute
应该给你一个或你想要的0。最后在SELECT
子句的 //hiding the current layer
mapBox.setFilter(currentLayer, ["==",'gid', "_none_"]);
//showing only the clicked feature by filtering it out with a unique id it has
mapBox.setFilter(highlightedLayer, ["==",'gid', feature_gid]);
上执行GROUP BY。