Cassandra 如果没有“允许筛选”,我如何在CQL中使用条件查询?
我是CQL新的学习者。 我有餐厅的桌子。 通过实现“desc restaurants”,它以 如何在不使用“允许筛选”的情况下运行以下查询, 从borough='brooklyn'的餐厅中选择名称 为了能够在不使用“允许筛选”的情况下运行查询,需要哪些步骤Cassandra 如果没有“允许筛选”,我如何在CQL中使用条件查询?,cassandra,cql,Cassandra,Cql,我是CQL新的学习者。 我有餐厅的桌子。 通过实现“desc restaurants”,它以 如何在不使用“允许筛选”的情况下运行以下查询, 从borough='brooklyn'的餐厅中选择名称 为了能够在不使用“允许筛选”的情况下运行查询,需要哪些步骤 非常感谢。对于Cassandra CQL,您需要采用基于查询的建模方法。这意味着您将需要一个专门设计用于按自治区查询的表 一个好问题是,为什么在当前的表设计中id是唯一的主键?您必须支持按id查询吗?如果不是,那么你就不需要那张桌子了。但是
非常感谢。对于Cassandra CQL,您需要采用基于查询的建模方法。这意味着您将需要一个专门设计用于按自治区查询的表 一个好问题是,为什么在当前的表设计中id是唯一的主键?您必须支持按id查询吗?如果不是,那么你就不需要那张桌子了。但是,由于borough不是唯一的,所以将其他列聚集到主键定义中是有意义的 我会这样说:
CREATE TABLE stackoverflow.restaurants_by_borough (
borough text,
name text,
id int,
buildingnum text,
cuisinetype text,
phone text,
street text,
zipcode int,
PRIMARY KEY (borough, name, id)
) WITH CLUSTERING ORDER BY (name ASC, id ASC);
现在,此查询将起作用:
select name from restaurants_by_borough
where borough = 'brooklyn';
它将返回每个行政区的数据,按名称排序。此外,如果任何两家餐厅的名称相同,那么在布鲁克林可能会有不止一家麦当劳。为了确保其独特性,钥匙的末尾会添加id