【发布时间】:2019-09-07 03:09:34
【问题描述】:
我创建了一个物化视图:
CREATE MATERIALIZED VIEW test_view AS SELECT state, city, zip, loc, pop FROM citylist WHERE state IS NOT NULL AND city 不为空且 zip 不为空且 pop 不为空
PRIMARY KEY (state,city,pop,zip) WITH CLUSTERING ORDER BY (state ASC)。
我从查询“SELECT * FROM test_view Where state='NY'LIMIT 15;”中得到结果如:
state | city | pop | zip | loc
-------+--------------+-------+-------+-------------------------
NY | ACCORD | 2695 | 12404 | [-74.235336, 41.808308]
NY | ACRA | 525 | 12405 | [-74.085723, 42.330367]
NY | ADAMS BASIN | 989 | 14410 | [-77.853905, 43.190644]
NY | ADAMS CENTER | 2649 | 13606 | [-76.00415, 43.863106]
NY | ADDISON | 4967 | 14801 | [-77.266027, 42.09825]
NY | ADIRONDACK | 105 | 12808 | [-73.782486, 43.716479]
NY | AFTON | 2801 | 13730 | [-75.536604, 42.241737]
NY | AKRON | 7924 | 14001 | [-78.508365, 43.024944]
NY | ALABAMA | 68 | 14003 | [-78.385231, 43.071888]
NY | ALBANY | 2709 | 12207 | [-73.752327, 42.658133]
NY | ALBANY | 6927 | 12204 | [-73.735364, 42.684667]
NY | ALBANY | 9374 | 12210 | [-73.76052, 42.65677]
NY | ALBANY | 10008 | 12209 | [-73.785385, 42.641665]
NY | ALBANY | 11097 | 12202 | [-73.764071, 42.641314]
NY | ALBANY | 17230 | 12206 | [-73.774406, 42.668326]
现在,当我添加另一个条件过滤语句来进行查询时:
SELECT * FROM test_view where state='NY' AND pop > 2000 ORDER BY 城市 ASC 限制 15;
我得到错误:
InvalidRequest:来自服务器的错误:code=2200 [无效查询] message="PRIMARY KEY 列 "pop" 不能像前面那样限制 “城市”列不受限制”
我希望能够保持上面表格/结果中条目的顺序,但也允许使用“pop”进行过滤。我将如何编辑我的物化视图语句来做到这一点?
【问题讨论】:
标签: cassandra