2015-07-04 47 views
2

我是新來的卡桑德拉主鍵卡桑德拉排序。我想根據主鍵即timeuuid得到排序的結果集。我的桌子結構是。的類型timeuuid

CREATE TABLE user_session 
(
    session_id timeuuid, 
    ip inet, 
    device_type int, 
    is_active int, 
    last_access_time timestamp, 
    logout_reason text, 
    logout_type int, 
    start_time timestamp, 
    uid int, 
    PRIMARY KEY(session_id) 
); 

任何人都可以幫助我。

回答

4

你不能在主列查詢使用order by。它僅在羣集列上受支持。您將不得不更改此表,以便您可以執行此類查詢。它可能是這個樣子:

CREATE TABLE user_session 
(
user_id int, 
session_id timeuuid, 
ip inet, 
device_type int, 
is_active int, 
last_access_time timestamp, 
logout_reason text, 
logout_type int, 
start_time timestamp, 
uid int, 
PRIMARY KEY(user_id, session_id) 
); 

然後,您的查詢看起來像:

select * from user_session where user_id=5 order by session_id ASC; 

Basicaly,你需要將被用於搜索僅EQIN關係數據的一些主鍵允許的,所以你不能有user_id > 5或類似的東西,然後你可以通過在你的案例session_id上的聚類欄來排序你的結果。

卓然