次のような主キー定義を持つ列ファミリーがあります。
...
PRIMARY KEY ((website_id, item_id), user_id, date)
次のようなクエリを使用してクエリされます。
SELECT * FROM myCF
WHERE website_id = 30 AND item_id = 10
AND user_id = 0 AND date > 'some_date' ;
SELECT date FROM myCF ;
ただし、最後に挿入された日付を返すなど、列ファミリを日付のみで並べ替えたいと思います。
クラスタリング列の順序により、得られるのは user_id ごと、次に日付ごとの順序です。主キーの定義を次のように変更すると:
PRIMARY KEY ((website_id, item_id), date, user_id)
日付を制限する必要があるのは user_id であるため、同じクエリを実行できなくなりました。
次のように言う方法があるかもしれないと思いました。
...
PRIMARY KEY ((website_id, shop_id), store_id, date)
) WITH CLUSTERING ORDER BY (store_id RANDOMPLEASE, date DESC) ;
しかし、存在しないようです。最悪の場合、これは完全にばかげている可能性があり、その理由がわかりません。
これを達成する方法はありますか?何か不足していますか?
どうもありがとう!