当前位置: 首页 > 知识库问答 >
问题:

如何在CQL/Cassandra中使用多个大于/小于条件执行查询?

亢保赫
2023-03-14
CREATE TABLE map.items (
    id timeuuid,
    type int,
    lat double,
    lng double,
    rank int
)
select * from map.items 
where type=1 
and (lat > 30 and lat < 35)
and (lng > 100 and lng < 110)
order by rank desc
limit 10;

卡桑德拉的新手,请提供帮助或推荐人。谢谢!

共有1个答案

况明贤
2023-03-14

CQL只能对一个聚类键应用范围查询,所以您不能直接在CQL中这样做。

有几种可能的方法:

>

  • 将卡桑德拉与阿帕奇火花配对。将该表读入RDD并应用筛选器操作,以只保留与您要查找的范围匹配的行。然后按秩进行排序操作。然后使用collect()收集并输出前十个结果。

  •  类似资料:
    • 我正在努力解决这个问题。工作内容:我想打印表中的所有3行(将附上示例),并在EID列中显示值。 我想测试EID1(第一行)的值是否以8开头。(完成) 我想测试CID1(第一行)的值是否以“M”开头。(完成) 现在我想循环整个表,并检查每一行的以下条件,例如:(Done) 如果EID1= 我得到以下错误:无法调用“String.startsWith(String)”,因为java的返回值。util。

    • 我的主要问题是用复合分区键对表上的Cassandra resultset进行分页。然而,我试图用一个简单的场景来缩小范围。喂,我有桌子, 我有一个数据, 我的模式使用默认的分区器(Murmur3Partitioner)。这是完全可以实现的吗?

    • 我创建了一个如下表 然后,我将另一列添加到表中: 将其添加到表中: 用户添加user_traits冻结 我想运行一个查询,返回所有单身用户的姓名,但是我不确定如何实现这一点,因为我正在过滤用户定义类型中的字段。 这就是我所拥有的: <代码>选择user\u fname,user\u lname FROM users WHERE user\u traits。婚姻状况='单身'允许筛选 但是,此代码在

    • 问题内容: 如何将这些多个查询合并为一个(可以吗?) 顺便问一下,如果在完成所有查询后再执行mysql_close($ db),那会更好吗? 问题答案: 传递到作为第五个参数。 例: 当您使用mysql_fetch_ *或mysql_num_rows或mysql_affected_rows时,仅第一条语句有效。 例如,以下代码,第一个语句为INSERT,则无法执行mysql_num_rows和my

    • 我有一个dynamodb表,它的字符串主键名为,数字排序键名为。我想获取dynamodb表中年龄