cassandra cql order by实验
cassandra cql order by实验
1 CREATE TABLE 易做图x.playlists ( 2 id uuid, 3 title text, 4 num int, 5 album text, 6 artist text, 7 song_id uuid, 8 PRIMARY KEY (id,title,num) 9 ); 1 SELECT * FROM 易做图x.playlists where id=2cc9ccb7-6221-4ccb-8387-f22b6a1b354d ORDER BY title DESC; 1 搜索成功 1 SELECT * FROM 易做图x.playlists where id=2cc9ccb7-6221-4ccb-8387-f22b6a1b354d ORDER BY num DESC; 1 搜索异常Order by currently only support the ordering of columns following their declared order in the PRIMARY KEY 1 SELECT * FROM 易做图x.playlists ORDER BY title DESC; 1 异常:ORDER BY is only supported when the partition key is restricted by an EQ or an IN. 1 SELECT * FROM 易做图x.playlists where num=1 ORDER BY title DESC; 1 异常:PRIMARY KEY part num cannot be restricted (preceding part title is either not restricted or by a non-EQ relation 1 SELECT * FROM 易做图x.playlists where title='La Petite Tonkinoise' ORDER BY title DESC; 1 异常:ORDER BY is only supported when the partition key is restricted by an EQ or an IN. 1 SELECT * FROM 易做图x.playlists where id=2cc9ccb7-6221-4ccb-8387-f22b6a1b354d ORDER BY id DESC; 1 异常:Order by is currently only supported on the clustered columns of the PRIMARY KEY, got id 1 SELECT * FROM 易做图x.playlists where title='La Petite Tonkinoise' ORDER BY num DESC; 1 异常:ORDER BY is only supported when the partition key is restricted by an EQ or an IN. 1 通过以上实验可以得出cassandra cql order by 字段必须是复合主键的第二个字段,并且需要where后跟上第一个字段的条件判断。 1 另外:CLUSTERING ORDER 01 <span> 02 03 04 05 06 07 08 09 10 11 <ul> 12 <li> 官方说明 </li> 13 <li> if the table has been defined without any specific CLUSTERING ORDER, then then allowed orderings are the order induced by the clustering key and the reverse of that one. </li> 14 <li> otherwise, the orderings allowed are the order of the CLUSTERING ORDER option and the reversed one. </li> 15 </ul> 16
用法是 :WITH CLUSTERING ORDER BY( title DESC) 跟在建表语句后面。目的是改变数据存储排序方式