cassandra cql order by实验

CREATE TABLE simplex.playlists (
	id uuid,
	title text,
	num int,
	album text, 
	artist text,
	song_id uuid,
	PRIMARY KEY (id,title,num)
	);
SELECT * FROM simplex.playlists where id=2cc9ccb7-6221-4ccb-8387-f22b6a1b354d ORDER BY title DESC;
搜索成功
SELECT * FROM simplex.playlists where id=2cc9ccb7-6221-4ccb-8387-f22b6a1b354d ORDER BY num DESC;
搜索异常Order by currently only support the ordering of columns following their declared order in the PRIMARY KEY
SELECT * FROM simplex.playlists ORDER BY title DESC;
异常:ORDER BY is only supported when the partition key is restricted by an EQ or an IN.
SELECT * FROM simplex.playlists where num=1 ORDER BY title DESC;
异常:PRIMARY KEY part num cannot be restricted (preceding part title is either not restricted or by a non-EQ relation
SELECT * FROM simplex.playlists where title='La Petite Tonkinoise' ORDER BY title DESC;
异常:ORDER BY is only supported when the partition key is restricted by an EQ or an IN.
SELECT * FROM simplex.playlists where id=2cc9ccb7-6221-4ccb-8387-f22b6a1b354d ORDER BY id DESC;
异常:Order by is currently only supported on the clustered columns of the PRIMARY KEY, got id
SELECT * FROM simplex.playlists where title='La Petite Tonkinoise' ORDER BY num DESC;
异常:ORDER BY is only supported when the partition key is restricted by an EQ or an IN.
通过以上实验可以得出cassandra cql order by 字段必须是复合主键的第二个字段,并且需要where后跟上第一个字段的条件判断。
另外:CLUSTERING ORDER
 

  
  
  
  
 
   
   
官方说明 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. otherwise, the orderings allowed are the order of the CLUSTERING ORDER option and the reversed one. 用法是 :WITH CLUSTERING ORDER BY( title DESC) 跟在建表语句后面。目的是改变数据存储排序方式
如果有人能找到其他方式可以使用order by请留言给我。在此谢谢了!!

转载于:https://my.oschina.net/laigous/blog/172693

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值