SELECT * FROM bidding_user LIMIT 5;
여기서 문제는 WHERE
절을 지정하지 않았기 때문입니다. 카산드라는 파티션 키 내에서만 정렬 순서를 유지합니다. 귀하의 파티션 키는 user_id
입니다. 제 생각에 (current_time
열이 아닌 user_id
이 아닌) 첫 번째 두 행은 user_id
이고 다른 행의 첫 번째 행은 user_id
입니다.
CREATE TABLE stackoverflow.timestamptest (
userid text,
activetime timestamp,
value text,
PRIMARY KEY (userid, activetime)
) WITH CLUSTERING ORDER BY (activetime ASC)
내가 절에, 내가 할 WHERE없이 조회 할 경우 : 당신이 볼 수 있듯이
[email protected]:stackoverflow> SELECT userid,activetime FROM timestamptest ;
userid | activetime
--------+--------------------------
a | 2015-09-25 11:33:33+0000
a | 2015-10-22 14:26:00+0000
c | 2015-12-28 19:12:00+0000
d | 2016-01-22 14:57:54+0000
d | 2016-01-22 14:57:54+0000
d | 2016-07-07 19:44:04+0000
b | 2015-10-22 14:26:00+0000
b | 2016-07-07 19:44:10+0000
(8 rows)
, 내 클러스터링 키의 순서 (activetime
가) 정말
은 다음 표를 고려 각 파티션 키 (
userid
) 내에서만 의미가 있습니다.
즉, 결과 집합을 정렬하려면 쿼리에 WHERE
절에 user_id
파티션 키를 지정해야합니다. 에
하지 자기 홍보 또는 아무것도,하지만 난 당신이 더 잘 이해하는 데 도움이 있습니다이 주제 지난해 초에 기사를 썼다 :
PlanetCassandra: We Shall Have Order!가 current_time
유형 text
이다