使用Cassandra的datastax Java驱动程序中的别名可链接便捷方法选择特定列以及avg和max

大卫

说我有使用驱动程序的便捷方法的一般SQL查询:

statement = select().from(keyspace, table)
            .where(eq("fieldx", var1))
            .and(eq("fieldy", var2))
            .orderBy(asc("fieldz"));
return client.getSession().execute(statement);

以及如何重新处理上面的查询以支持这种CQL / SQL:

select fielda, fieldb, avg(fieldc), max(fielde) from ...

使用的是IntelliJ,我发现后,select().我只能IT连锁追加一个column()进行筛选查询特定列,但我没有看到可用的选项avg()max()看一下JavaDocs,看起来应该存在吗?或者我没有使用正确的select()方法(我是Cassandra和这个Java驱动程序的新手)。使用IDE中的goto声明,我看到该select()方法导致QueryBuilder类的静态select()方法返回该SelectionOrAlias()方法,方法与JavaDocs匹配该类中的可用方法。

对于导入,这些是通过驱动程序导入的非自定义类:

import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Statement;
import com.google.inject.Inject;
import static com.datastax.driver.core.querybuilder.QueryBuilder.*;

正确的查询设置我缺少什么?

安迪·托伯特

QueryBuilder从3.3.0 / dse 1.3.0(JAVA-1443开始,可以使用CQL中的常见聚合方法这是您将如何使用它们:

import com.datastax.driver.core.Statement;

import static com.datastax.driver.core.querybuilder.QueryBuilder.*;

public class Example {

    public static void main(String args[]) {
        Statement statement = select("fielda",
                "fieldb",
                avg("fieldc"),
                max("fielde"))
                .from("tbl");

        System.out.println(statement);
    }
}

这样产生: SELECT fielda,fieldb,avg(fieldc),max(fielde) FROM tbl;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Datastax Cassandra Java驱动程序的Accessor是否使用分页?

Datastax Java Cassandra驱动程序:使用WHERE的多个AND语句?

Nodejs - Apache Cassandra(使用 Datastax 驱动程序)

无法使用 Cassandra Datastax Java 驱动程序连接到 Cassandra 节点之一

Cassandra:使用DataStax Java驱动程序选择一系列TimeUUID

如何使用带有Datastax Java驱动程序的CQL向Cassandra添加任意列?

如何使用Datastax Java驱动程序有效地使用批写入Cassandra?

如何使用DataStax Java驱动程序设置Cassandra客户端到节点的加密?

使用Datastax Java驱动程序无法通过Cassandra的UDT密钥检索

使用DataStax C#驱动程序处理Cassandra中的所有节点

如何使用Datastax spark-cassandra-connector从Cassandra表中读取特定列?

在使用Datastax Cassandra驱动程序时是否重新使用PreparedStatement?

如何使用datastax驱动程序创建Cassandra连接池

使用datastax驱动程序检索有关Cassandra集群数据中心的信息

无法使用DataStax C#驱动程序从Cassandra获取值

如何使用 C# Datastax 驱动程序删除 Cassandra 上的表?

使用 Datastax Cassandra 驱动程序时出现无效类型错误

使用DataStax C#驱动程序时故障转移不适用于Cassandra

Datastax Node.js Cassandra驱动程序何时使用映射器与查询

Cassandra ODBC Datastax 在 Windows 中与 Cassandra 2.1 但不是 3.0 一起使用

如何在Cassandra中使用Datastax Java驱动程序有效地使用准备好的语句?

使用Datastax驱动程序3.6的Cassandra分页:不支持空分页状态和获取大小

datastax cassandra java驱动程序PlainTextAuthProvider示例

带分页的Datastax Cassandra Java驱动程序RetryPolicy

Datastax C#驱动程序中的Cassandra timeuuid

Cassandra DatasTax Opscenter中的列和行

如何使用datastax cassandra-core-api将数据插入4节点cassandra集群中?

cassandra datastax驱动程序抛出的写入超时

Cassandra Datastax驱动程序-连接池