Hi, You can create pseudo index table.
IMO, structure can be:- CREATE TABLE IF NOT EXISTS test.user ( account_id bigint, pid bigint, disp_name text, status int, PRIMARY KEY (account_id, pid) ) WITH CLUSTERING ORDER BY (pid ASC); CREATE TABLE IF NOT EXISTS test.user_index ( account_id bigint, pid bigint, disp_name text, status int, PRIMARY KEY ((account_id, status), disp_name) ) WITH CLUSTERING ORDER BY (disp_name ASC); to support query *:- select * from site24x7.wm_current_status where uid=1 order by dispName asc;* You can use *in condition* on last partition key *status *in table *test.user_index.* *It depends on your use case and amount of data as well. It can be optimized more...* Thanks!! On Sun, Jul 23, 2017 at 2:48 AM, techpyaasa . <techpya...@gmail.com> wrote: > Hi , > > We have a table like below : > > CREATE TABLE ks.cf ( accountId bigint, pid bigint, dispName text, status >> int, PRIMARY KEY (accountId, pid) ) WITH CLUSTERING ORDER BY (pid ASC); > > > > We would like to have following queries possible on the above table: > > select * from site24x7.wm_current_status where uid=1 and mid=1; > select * from site24x7.wm_current_status where uid=1 order by dispName asc; > select * from site24x7.wm_current_status where uid=1 and status=0 order by > dispName asc; > > I know first query is possible by default , but I want the last 2 queries > also to work. > > So can some one please let me know how can I achieve the same in > cassandra(c*-2.1.17). I'm ok with applying indexes etc, > > Thanks > TechPyaasa >