Hi,
I use a timestamp column as the last clustering key so that I can run query
like "timestamp > ... AND timestamp < ...". But it doesn't work as
expected. Here is a simplified example.
My table:
CREATE TABLE test (
tag text,
group int,
timestamp timestamp,
value double,
PRIMARY KEY (tag, group, timestamp)
) WITH CLUSTERING ORDER BY (group ASC, timestamp DESC)
After inserting some data, here is my query:
cqlsh> select * from test where tag = 'MSFT' and group = 1 and timestamp
='2004-12-15 16:00:00-0500';
tag | group | timestamp | value
------+-------+--------------------------+-------
MSFT | 1 | 2004-12-15 21:00:00+0000 | 27.11
MSFT | 1 | 2004-12-16 21:00:00+0000 | 27.16
MSFT | 1 | 2004-12-17 21:00:00+0000 | 26.96
MSFT | 1 | 2004-12-20 21:00:00+0000 | 26.95
MSFT | 1 | 2004-12-21 21:00:00+0000 | 27.07
MSFT | 1 | 2004-12-22 21:00:00+0000 | 26.98
MSFT | 1 | 2004-12-23 21:00:00+0000 | 27.01
MSFT | 1 | 2004-12-27 21:00:00+0000 | 26.85
MSFT | 1 | 2004-12-28 21:00:00+0000 | 26.95
MSFT | 1 | 2004-12-29 21:00:00+0000 | 26.9
MSFT | 1 | 2004-12-30 21:00:00+0000 | 26.76
(11 rows)
This doesn't make sense. I expect this query to return only the first row.
Why does it give me back rows with different timestamps? Did I
misunderstand how timestamp and clustering key work?
Thanks.
-Kai