Execute a query such as:
SELECT DISTINCT userid, book_title, isbn FROM book_views
Will return an oRecordData object with fields for book_title and isbn but there will be no userid included. The same query executed in OrientDB Studio executes correctly and returns all fields.
My workaround has been to include a bogus field name:
SELECT DISTINCT pyorient_select_distinct_bug_workaround, userid, book_title, isbn FROM book_views
This is with OrientDB 3.0.15, PyOrient 1.5.5, and python 3.7.2.