【发布时间】:2018-07-15 06:55:40
【问题描述】:
大家好! 我在 Cassandra 中创建键空间:
CREATE KEYSPACE 监控 WITH replication = { 'class': 'SimpleStrategy', “复制因子”:“1” }; CREATE TABLE monitoring.data ( 数字文字, 日期时间戳, last_day 时间戳静态, ids文本静态, 主键(数字,日期) ) 具有聚类顺序 BY (day DESC);稍后我插入数据:
INSERT INTO monitoring.data (number, day, last_day, ids) VALUES ('12345678901', '2017-05-26', '2017-05-26', '["1","2","3"] '); INSERT INTO monitoring.data (number, day, last_day, ids) VALUES ('12345678901', '2017-10-26', '2017-10-26', '["1","2","3"] '); INSERT INTO monitoring.data (number, day, last_day, ids) VALUES ('12345678901', '2017-05-01', '2017-05-01', '["1","2","3"] '); INSERT INTO monitoring.data (number, day, last_day, ids) VALUES ('123456AA901', '2017-05-01', '2017-05-01', '["A","2","3"] '); INSERT INTO monitoring.data (number, day, last_day, ids) VALUES ('123456BB901', '2017-05-01', '2017-05-01', '["B","2","3"] '); INSERT INTO monitoring.data (number, day, last_day, ids) VALUES ('123456CC901', '2017-05-01', '2017-05-01', '["C","2","3"] '); INSERT INTO monitoring.data (number, day, last_day, ids) VALUES ('123456DD901', '2017-05-01', '2017-05-01', '["D","2","3"] '); INSERT INTO monitoring.data (number, day, last_day, ids) VALUES ('12345678901', '2017-05-23', '2017-05-23', '["1","2","3"] '); INSERT INTO monitoring.data (number, day, last_day, ids) VALUES ('12345678901', '2018-05-26', '2018-05-26', '["1","2","3"] '); INSERT INTO monitoring.data (number, day, last_day, ids) VALUES ('23456789012', '2017-04-01', '2017-04-01', '["6","2","11"] '); INSERT INTO monitoring.data (number, day, last_day, ids) VALUES ('34567890123', '2017-03-28', '2017-03-28', '["1","5","3"] '); INSERT INTO monitoring.data (number, day, last_day, ids) VALUES ('45678901234', '2017-04-03', '2017-04-03', '["12","2","3"] '); INSERT INTO monitoring.data (number, day, last_day, ids) VALUES ('56789012345', '2018-01-26', '2018-01-26', '["3","2","1"] ');接下来我进行查询:
从monitoring.data中选择不同的数字,last_day,ids WHERE number in ('12345678901','56789012345','45678901234');为什么 Cassandra 的答案是 12345678901 和 56789012345 之间的数字 45678901234?
号码 |最后一天 |身份证 ----------+--------------+--------- -------- 12345678901 | 2018-05-25 21:00:00+0000 | ["1","2","3"] 45678901234 | 2017-04-02 21:00:00+0000 | ["12","2","3"] 56789012345 | 2018-01-25 21:00:00+0000 | ["3","2","1"]如何得到正确答案?复制因子在这种情况下很重要吗?稍后我将使用 LIMIT 10...
【问题讨论】:
-
您的问题不清楚,您的预期答案是什么?
-
我需要在 last_day (DESC) 之前订购
-
最后一天还是一天?如果你想在 last_day 之前,那么这个应该是集群列。
标签: cassandra