东方明显错误

时间:2015-06-30 12:30:58

标签: sql orientdb graph-databases nosql

我有以下输出

orientdb {db=dict}> select count(distinct(pos)) from Synset;

----+------+-----
#   |@CLASS|count
----+------+-----
0   |null  |4    
----+------+-----

1 item(s) found. Query executed in 2.514 sec(s).
orientdb {db=dict}> select distinct(pos) from Synset;       

----+------+--------
#   |@CLASS|distinct
----+------+--------
0   |null  |n       
----+------+--------

1 item(s) found. Query executed in 0.012 sec(s).

我做错了什么? (不同值的计数与此值的选择不匹配。实际上db中有4个不同的值)

更新[WTF]

orientdb {db=dict}> select * from (select distinct(pos) from Synset)

----+------+--------
#   |@CLASS|distinct
----+------+--------
0   |null  |n       
1   |null  |v       
2   |null  |a       
3   |null  |r       
----+------+--------

4 item(s) found. Query executed in 2.722 sec(s).

1 个答案:

答案 0 :(得分:4)

试试这个:0.625, 0.375, 0.375, 0,8125

控制台和工作室会自动添加select distinct(pos) from Synset limit-1。因此,当您执行limit 20时,实际上会返回前20行中的不同值。

现在这个select distinct(pos) from Synset会返回预期的结果,因为内部查询没有限制,只有父查询的限制为20但只有4个结果。