【问题标题】:How to write nested query in druid?如何在德鲁伊中编写嵌套查询?
【发布时间】:2019-02-12 15:21:07
【问题描述】:

我是德鲁伊的新手。到目前为止,我一直在使用 mysql 数据库。我想知道,如何在嵌套的mysql查询下面写一个druid查询?

Select distinct(a.userId) as userIds
from transaction as a 
where 
 a.transaction_type = 1 
 and a.userId IN (
   select distinct(b.userId) where transaction as b where a.transaction_type = 2
 )

非常感谢您的帮助。

【问题讨论】:

    标签: druid


    【解决方案1】:

    在您刚接触德鲁伊时,您可能有兴趣了解几件事。

    Druid 现在支持 SQL,它不像 SQL 那样支持所有花哨和复杂的特性,但它确实支持许多标准的 SQL 东西。它还提供了用 druid JSON 编写 SQL 查询的方法。

    以下是有关此内容的更多详细信息,例如: http://druid.io/docs/latest/querying/sql

    您的查询很简单,因此您可以使用 druid sql 功能,如下所示:

    {
      "query" : "<your_sql_query>",
      "resultFormat" : "object"
    }
    

    如果您想为上述查询构建一个 JSON 查询并且不想编写整个大 JSON,那么试试这个很酷的技巧:

    使用-q 对代理节点运行 sql 查询,它将为您打印 JSON 查询,您可以使用该查询,然后根据需要对其进行修改,语法如下:

     curl -X POST '<queryable_host>:<port>/druid/v2/?pretty' -H 'Content-Type:application/json' -H 'Accept:application/json' -q <druid_sql_query>
    

    除此之外,您还可以使用DruidDry 库,它支持用Java 编写花哨的德鲁伊查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多