Druid嵌套groupBy精确去重计数

1,447 阅读1分钟

Druid嵌套groupBy精确去重计数

示例SQL

(SELECT channel,isMinor,isNew FROM wikipedia GROUP BY channel,isMinor,isNew)
GROUP BY channel,isMinor

对应的json

{
  "queryType": "groupBy",
  "dataSource": {
    "type": "query",
    "query": {
      "queryType": "groupBy",
      "dataSource": {
        "type": "table",
        "name": "wikipedia"
      },
      "intervals": {
        "type": "intervals",
        "intervals": [
          "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z"
        ]
      },
      "virtualColumns": [],
      "filter": null,
      "granularity": {
        "type": "all"
      },
      "dimensions": [
        {
          "type": "default",
          "dimension": "channel",
          "outputName": "d0",
          "outputType": "STRING"
        },
        {
          "type": "default",
          "dimension": "isMinor",
          "outputName": "d1",
          "outputType": "STRING"
        },
        {
          "type": "default",
          "dimension": "isNew",
          "outputName": "d2",
          "outputType": "STRING"
        }
      ],
      "aggregations": [],
      "having": null,
      "limitSpec": {
        "type": "default",
        "columns": [],
        "limit": 100
      },
      "descending": false
    }
  },
  "intervals": {
    "type": "intervals",
    "intervals": [
      "-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z"
    ]
  },
  "virtualColumns": [],
  "filter": null,
  "granularity": {
    "type": "all"
  },
  "dimensions": [
    {
      "type": "default",
      "dimension": "d0",
      "outputName": "d0",
      "outputType": "STRING"
    },
    {
      "type": "default",
      "dimension": "d1",
      "outputName": "d1",
      "outputType": "STRING"
    }
  ],
  "aggregations": [
    {
      "type": "count",
      "name": "count"
    }
  ],
  "having": null,
  "limitSpec": {
    "type": "default",
    "columns": [],
    "limit": 100
  },
  "descending": false
}