我有以下输出
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).
答案 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个结果。