0
我在SQL下面的查询(Oracle数据库11克XE)从SQL到的Neo4j:试图组查询结果
仅适用于上下文:此查询搜索与最大功率因数的传感器,在0.90到0.99之间的范围内,每月)
with abc as (select extract(month from peak_time) as Month,
max(total_power_factor) as Max_Power_Factor
from sensors group by extract(month from peak_time) order by Month DESC)
select abc.Month, Max_Power_Factor, meter_id as "Made by"
from abc join sensors
on sensors.total_power_factor = abc.Max_Power_Factor
where Max_Power_Factor between 0.90 and 0.99
order by Max_Power_Factor;
SQL开发人员告诉我正确的结果,只有每个月一线,没有重复;例如:
Month Max_Power_Factor Scored by
6 0.981046427565 b492b271760a
1 0.945921825336 db71ffead179
3 0.943302142482 a9c471b03587
8 0.9383185638 410bd58c8396
7 0.930911694091 fe5954a46888
5 0.912872055549 ee3c8ec29155
我的问题是试图复制相同的查询上Neo4j的(3.2.1 CE,在Windows 10):我不知道如何在数据组中以有相同的结果。 (正如你可以看到我使用APOC管理日期)
match(a:Sensor) with a, a.peak_time as peak_time
where (a.total_power_factor > 0.90 and a.total_power_factor <0.99)
RETURN distinct a.meterid, max(peak_time),apoc.date.format(peak_time,'s','MM') as month
order by month desc
这是我的Cypher支架的结果,正如你所看到的,有每月多行。
Month Max_Power_Factor Scored by
06 0.981046427565 b492b271760a
01 0.945921825336 db71ffead179
03 0.943302142482 a9c471b03587
08 0.9383185638 410bd58c8396
08 0.93451098613 dfd6b67cc6d6
07 0.930911694091 fe5954a46888
02 0.916440282713 649956b34e87
05 0.912872055549 ee3c8ec29155
08 0.907059974935 a3e8df8a0ba8
所以我的问题是:我如何小组,以具有相同的输出中的Oracle数据库中的数据?(如果可能,当然)
在此先感谢您的帮助。
是的,我做了一个有点混乱这里发布数据的名称,但非常感谢你,你的解决方案是完美的!再次感谢! –