cassandra cql order by实验
程序员文章站
2024-02-07 14:47:22
...
cassandra cql order by实验 1CREATE TABLE simplex.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 );1SELECT * FROM simplex.playlists where id=2cc9ccb7-6221-4ccb-8387-f22b6a
cassandra cql order by实验
1
CREATE TABLE simplex.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 simplex.playlists where id=2cc9ccb7-6221-4ccb-8387-f22b6a1b354d ORDER BY title DESC;
1
搜索成功
1
SELECT * FROM simplex.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 simplex.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 simplex.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 simplex.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 simplex.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 simplex.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
02
03
04
05
06
07
08
09
10
11
12
- 官方说明
13
- 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.
14
- otherwise, the orderings allowed are the order of the CLUSTERING ORDER option and the reversed one.
15
16
用法是 :WITH CLUSTERING ORDER BY( title DESC) 跟在建表语句后面。目的是改变数据存储排序方式