{"id":11094,"date":"2026-04-01T14:44:50","date_gmt":"2026-04-01T17:44:50","guid":{"rendered":"https:\/\/kondado.com.br\/blog\/wiki\/?p=11094"},"modified":"2026-04-08T17:48:44","modified_gmt":"2026-04-08T20:48:44","slug":"via-kondado-referencia-ksql","status":"publish","type":"post","link":"https:\/\/kondado.com.br\/blog\/wiki\/2026\/04\/01\/via-kondado-referencia-ksql\/","title":{"rendered":"Via Kondado: Refer\u00eancia KSQL"},"content":{"rendered":"\n<p>O KSQL \u00e9 a linguagem de consulta da Kondado. Ele utiliza uma sintaxe em formato <strong>JSON<\/strong> que permite filtrar, agrupar, ordenar e transformar seus dados de forma simples e segura.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>\u2139\ufe0f <strong>Beta:<\/strong> Consultas via KSQL est\u00e3o dispon\u00edveis em modo beta.<\/p><\/blockquote>\n\n\n\n<h2>Estrutura b\u00e1sica<\/h2>\n\n\n\n<p>Uma consulta KSQL \u00e9 um objeto JSON com os seguintes campos:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Campo<\/th><th>Obrigat\u00f3rio<\/th><th>Descri\u00e7\u00e3o<\/th><\/tr><\/thead><tbody><tr><td><code>dest_collection_id<\/code><\/td><td>Sim<\/td><td>Identificador da sua cole\u00e7\u00e3o de destino<\/td><\/tr><tr><td><code>table_name<\/code><\/td><td>Sim<\/td><td>Nome da tabela a ser consultada<\/td><\/tr><tr><td><code>columns<\/code><\/td><td>Sim<\/td><td>Lista de colunas a retornar<\/td><\/tr><tr><td><code>column_aggregations<\/code><\/td><td>N\u00e3o<\/td><td>Tipo de agrega\u00e7\u00e3o para cada coluna (ex: <code>\"sum\"<\/code>, <code>\"avg\"<\/code>, <code>\"none\"<\/code>)<\/td><\/tr><tr><td><code>dimensions<\/code><\/td><td>N\u00e3o<\/td><td>Colunas de agrupamento (equivalente ao GROUP BY)<\/td><\/tr><tr><td><code>where_conditions<\/code><\/td><td>N\u00e3o<\/td><td>Condi\u00e7\u00f5es de filtro<\/td><\/tr><tr><td><code>order_by<\/code><\/td><td>N\u00e3o<\/td><td>Ordena\u00e7\u00e3o dos resultados<\/td><\/tr><tr><td><code>limit<\/code><\/td><td>N\u00e3o<\/td><td>N\u00famero m\u00e1ximo de registros (m\u00e1ximo: 1.000)<\/td><\/tr><tr><td><code>customColumns<\/code><\/td><td>N\u00e3o<\/td><td>Colunas calculadas com express\u00f5es personalizadas<\/td><\/tr><tr><td><code>column_transformations<\/code><\/td><td>N\u00e3o<\/td><td>Transforma\u00e7\u00f5es aplicadas \u00e0s colunas<\/td><\/tr><tr><td><code>joins<\/code><\/td><td>N\u00e3o<\/td><td>Jun\u00e7\u00e3o com outras tabelas<\/td><\/tr><tr><td><code>union<\/code><\/td><td>N\u00e3o<\/td><td>Array de consultas para combinar com UNION ALL (substitui os demais campos)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3>Exemplo m\u00ednimo<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"dest_collection_id\": 12345,\n  \"table_name\": \"vendas\",\n  \"columns\": [\"produto\", \"valor\", \"data\"]\n}<\/code><\/pre>\n\n\n\n<h2>Filtros (where_conditions)<\/h2>\n\n\n\n<p>Os filtros s\u00e3o definidos como uma lista de condi\u00e7\u00f5es. Todas as condi\u00e7\u00f5es s\u00e3o combinadas com <strong>E<\/strong> (AND).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"where_conditions\": [\n  {\"column\": \"status\", \"operator\": \"=\", \"value\": \"ativo\"},\n  {\"column\": \"valor\", \"operator\": \"&gt;\", \"value\": 100}\n]<\/code><\/pre>\n\n\n\n<h3>Operadores de compara\u00e7\u00e3o<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Operador<\/th><th>Descri\u00e7\u00e3o<\/th><th>Exemplo de valor<\/th><\/tr><\/thead><tbody><tr><td><code>=<\/code><\/td><td>Igual a<\/td><td><code>\"ativo\"<\/code><\/td><\/tr><tr><td><code>!=<\/code><\/td><td>Diferente de<\/td><td><code>\"cancelado\"<\/code><\/td><\/tr><tr><td><code>&gt;<\/code><\/td><td>Maior que<\/td><td><code>100<\/code><\/td><\/tr><tr><td><code>&lt;<\/code><\/td><td>Menor que<\/td><td><code>50<\/code><\/td><\/tr><tr><td><code>&gt;=<\/code><\/td><td>Maior ou igual a<\/td><td><code>100<\/code><\/td><\/tr><tr><td><code>&lt;=<\/code><\/td><td>Menor ou igual a<\/td><td><code>200<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3>Operadores de conjunto<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Operador<\/th><th>Descri\u00e7\u00e3o<\/th><th>Exemplo de valor<\/th><\/tr><\/thead><tbody><tr><td><code>IN<\/code><\/td><td>Est\u00e1 na lista<\/td><td><code>[\"SP\", \"RJ\", \"MG\"]<\/code><\/td><\/tr><tr><td><code>NOT IN<\/code><\/td><td>N\u00e3o est\u00e1 na lista<\/td><td><code>[\"cancelado\", \"expirado\"]<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3>Operadores de texto<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Operador<\/th><th>Descri\u00e7\u00e3o<\/th><th>Exemplo de valor<\/th><\/tr><\/thead><tbody><tr><td><code>LIKE<\/code><\/td><td>Corresponde ao padr\u00e3o (use <code>%<\/code> como coringa)<\/td><td><code>\"%kondado%\"<\/code><\/td><\/tr><tr><td><code>NOT LIKE<\/code><\/td><td>N\u00e3o corresponde ao padr\u00e3o<\/td><td><code>\"%teste%\"<\/code><\/td><\/tr><tr><td><code>STARTS_WITH<\/code><\/td><td>Come\u00e7a com<\/td><td><code>\"BR\"<\/code><\/td><\/tr><tr><td><code>ENDS_WITH<\/code><\/td><td>Termina com<\/td><td><code>\".com\"<\/code><\/td><\/tr><tr><td><code>CONTAINS<\/code><\/td><td>Cont\u00e9m o texto<\/td><td><code>\"kondado\"<\/code><\/td><\/tr><tr><td><code>NOT_CONTAINS<\/code><\/td><td>N\u00e3o cont\u00e9m o texto<\/td><td><code>\"teste\"<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3>Operadores de nulo<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Operador<\/th><th>Descri\u00e7\u00e3o<\/th><\/tr><\/thead><tbody><tr><td><code>IS NULL<\/code><\/td><td>\u00c9 nulo<\/td><\/tr><tr><td><code>IS NOT NULL<\/code><\/td><td>N\u00e3o \u00e9 nulo<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3>Operador de intervalo<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Operador<\/th><th>Descri\u00e7\u00e3o<\/th><th>Exemplo de valor<\/th><\/tr><\/thead><tbody><tr><td><code>BETWEEN<\/code><\/td><td>Est\u00e1 entre dois valores<\/td><td><code>[100, 500]<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3>Operadores de data relativa<\/h3>\n\n\n\n<p>Estes operadores facilitam filtros de data sem precisar calcular datas manualmente:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Operador<\/th><th>Descri\u00e7\u00e3o<\/th><\/tr><\/thead><tbody><tr><td><code>LAST_N_DAYS<\/code><\/td><td>\u00daltimos N dias<\/td><\/tr><tr><td><code>NEXT_N_DAYS<\/code><\/td><td>Pr\u00f3ximos N dias<\/td><\/tr><tr><td><code>LAST_N_HOURS<\/code><\/td><td>\u00daltimas N horas<\/td><\/tr><tr><td><code>LAST_N_MINUTES<\/code><\/td><td>\u00daltimos N minutos<\/td><\/tr><tr><td><code>THIS_WEEK<\/code><\/td><td>Semana atual<\/td><\/tr><tr><td><code>LAST_WEEK<\/code><\/td><td>Semana passada<\/td><\/tr><tr><td><code>THIS_MONTH<\/code><\/td><td>M\u00eas atual<\/td><\/tr><tr><td><code>LAST_MONTH<\/code><\/td><td>M\u00eas passado<\/td><\/tr><tr><td><code>THIS_QUARTER<\/code><\/td><td>Trimestre atual<\/td><\/tr><tr><td><code>LAST_QUARTER<\/code><\/td><td>Trimestre passado<\/td><\/tr><tr><td><code>THIS_YEAR<\/code><\/td><td>Ano atual<\/td><\/tr><tr><td><code>LAST_YEAR<\/code><\/td><td>Ano passado<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Exemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\"column\": \"criado_em\", \"operator\": \"LAST_N_DAYS\", \"value\": 7}<\/code><\/pre>\n\n\n\n<h2>Agrega\u00e7\u00f5es<\/h2>\n\n\n\n<p>Para calcular m\u00e9tricas sobre seus dados, use <code>column_aggregations<\/code> junto com <code>dimensions<\/code>.<\/p>\n\n\n\n<p>O campo <code>column_aggregations<\/code> \u00e9 uma lista com o mesmo tamanho de <code>columns<\/code>. Cada posi\u00e7\u00e3o define a agrega\u00e7\u00e3o da coluna correspondente. Use <code>\"none\"<\/code> para colunas sem agrega\u00e7\u00e3o (que devem estar em <code>dimensions<\/code>).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"table_name\": \"pedidos\",\n  \"columns\": [\"categoria\", \"receita\", \"quantidade\"],\n  \"column_aggregations\": [\"none\", \"sum\", \"count\"],\n  \"dimensions\": [\"categoria\"]\n}<\/code><\/pre>\n\n\n\n<h3>Fun\u00e7\u00f5es de agrega\u00e7\u00e3o dispon\u00edveis<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Fun\u00e7\u00e3o<\/th><th>Descri\u00e7\u00e3o<\/th><\/tr><\/thead><tbody><tr><td><code>none<\/code><\/td><td>Sem agrega\u00e7\u00e3o (coluna de agrupamento)<\/td><\/tr><tr><td><code>sum<\/code><\/td><td>Soma dos valores<\/td><\/tr><tr><td><code>avg<\/code><\/td><td>M\u00e9dia dos valores<\/td><\/tr><tr><td><code>count<\/code><\/td><td>Contagem de registros<\/td><\/tr><tr><td><code>count_distinct<\/code><\/td><td>Contagem de valores \u00fanicos<\/td><\/tr><tr><td><code>min<\/code><\/td><td>Valor m\u00ednimo<\/td><\/tr><tr><td><code>max<\/code><\/td><td>Valor m\u00e1ximo<\/td><\/tr><tr><td><code>stddev<\/code><\/td><td>Desvio padr\u00e3o<\/td><\/tr><tr><td><code>variance<\/code><\/td><td>Vari\u00e2ncia<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2>Ordena\u00e7\u00e3o (order_by)<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\"order_by\": [\n  {\"column\": \"receita\", \"direction\": \"desc\"},\n  {\"column\": \"nome\", \"direction\": \"asc\"}\n]<\/code><\/pre>\n\n\n\n<h2>Colunas calculadas (customColumns)<\/h2>\n\n\n\n<p>Crie colunas derivadas usando express\u00f5es:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"customColumns\": [\n  {\"name\": \"lucro\", \"expression\": \"receita - custo\"},\n  {\"name\": \"margem\", \"expression\": \"(receita - custo) \/ receita * 100\"}\n]<\/code><\/pre>\n\n\n\n<p>As colunas calculadas podem ser usadas em <code>columns<\/code>, <code>where_conditions<\/code>, <code>order_by<\/code> e <code>dimensions<\/code>, como qualquer outra coluna.<\/p>\n\n\n\n<h3>Fun\u00e7\u00f5es dispon\u00edveis em express\u00f5es<\/h3>\n\n\n\n<p><strong>Matem\u00e1ticas:<\/strong> <code>ABS<\/code>, <code>CEIL<\/code>, <code>FLOOR<\/code>, <code>ROUND<\/code>, <code>TRUNCATE<\/code>, <code>MOD<\/code>, <code>SQRT<\/code>, <code>POWER<\/code>, <code>EXP<\/code>, <code>LOG<\/code>, <code>LN<\/code>, <code>SIGN<\/code><\/p>\n\n\n\n<p><strong>Texto:<\/strong> <code>UPPER<\/code>, <code>LOWER<\/code>, <code>TRIM<\/code>, <code>LTRIM<\/code>, <code>RTRIM<\/code>, <code>SUBSTR<\/code>, <code>SUBSTRING<\/code>, <code>LENGTH<\/code>, <code>REPLACE<\/code>, <code>CONCAT<\/code>, <code>SPLIT_PART<\/code>, <code>LEFT<\/code>, <code>RIGHT<\/code>, <code>LPAD<\/code>, <code>RPAD<\/code>, <code>REVERSE<\/code>, <code>REPEAT<\/code>, <code>INSTR<\/code>, <code>LOCATE<\/code>, <code>REGEXP_EXTRACT<\/code>, <code>REGEXP_REPLACE<\/code>, <code>REGEXP_LIKE<\/code><\/p>\n\n\n\n<p><strong>Data:<\/strong> <code>DATE<\/code>, <code>YEAR<\/code>, <code>MONTH<\/code>, <code>DAY<\/code>, <code>HOUR<\/code>, <code>MINUTE<\/code>, <code>SECOND<\/code>, <code>DATE_FORMAT<\/code>, <code>DATE_TRUNC<\/code>, <code>DATE_ADD<\/code>, <code>DATE_DIFF<\/code>, <code>CURRENT_DATE<\/code>, <code>CURRENT_TIMESTAMP<\/code>, <code>NOW<\/code>, <code>EXTRACT<\/code>, <code>TO_DATE<\/code>, <code>TO_TIMESTAMP<\/code>, <code>FROM_UNIXTIME<\/code><\/p>\n\n\n\n<p><strong>Convers\u00e3o:<\/strong> <code>CAST<\/code>, <code>COALESCE<\/code>, <code>NULLIF<\/code>, <code>NVL<\/code>, <code>IFNULL<\/code>, <code>GREATEST<\/code>, <code>LEAST<\/code><\/p>\n\n\n\n<p><strong>Condicional:<\/strong> <code>IF<\/code>, <code>IIF<\/code>, <code>CASE WHEN ... THEN ... ELSE ... END<\/code><\/p>\n\n\n\n<h2>Transforma\u00e7\u00f5es de colunas (column_transformations)<\/h2>\n\n\n\n<p>Aplique transforma\u00e7\u00f5es sequenciais a colunas existentes. As transforma\u00e7\u00f5es s\u00e3o processadas na ordem em que aparecem.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"column_transformations\": {\n  \"nome\": [\n    {\"type\": \"text\", \"operation\": \"uppercase\"}\n  ],\n  \"criado_em\": [\n    {\"type\": \"date\", \"operation\": \"year_month\"}\n  ],\n  \"valor\": [\n    {\"type\": \"number\", \"operation\": \"round\", \"params\": {\"decimals\": 2}}\n  ]\n}<\/code><\/pre>\n\n\n\n<p><strong>Transforma\u00e7\u00f5es de texto:<\/strong> <code>uppercase<\/code>, <code>lowercase<\/code>, <code>trim<\/code>, <code>ltrim<\/code>, <code>rtrim<\/code>, <code>extract_domain<\/code>, <code>extract_before<\/code>, <code>extract_after<\/code>, <code>replace<\/code> (params: <code>find<\/code>, <code>replace<\/code>), <code>regexp_extract<\/code> (params: <code>pattern<\/code>), <code>regexp_replace<\/code> (params: <code>pattern<\/code>, <code>replacement<\/code>)<\/p>\n\n\n\n<p><strong>Transforma\u00e7\u00f5es de data:<\/strong> <code>date<\/code>, <code>year_month<\/code>, <code>year_week<\/code>, <code>year_quarter<\/code>, <code>year<\/code>, <code>hour<\/code>, <code>minute<\/code>, <code>extract_year<\/code>, <code>extract_month<\/code>, <code>extract_day<\/code>, <code>extract_hour<\/code>, <code>date_add_days<\/code> (params: <code>days<\/code>), <code>date_add_hours<\/code> (params: <code>hours<\/code>), <code>date_add_minutes<\/code> (params: <code>minutes<\/code>)<\/p>\n\n\n\n<p><strong>Transforma\u00e7\u00f5es num\u00e9ricas:<\/strong> <code>round<\/code> (params: <code>decimals<\/code>), <code>floor<\/code>, <code>ceil<\/code>, <code>abs<\/code>, <code>truncate<\/code> (params: <code>decimals<\/code>), <code>divide<\/code> (params: <code>divisor<\/code>), <code>multiply<\/code> (params: <code>multiplier<\/code>)<\/p>\n\n\n\n<p><strong>Convers\u00f5es de tipo:<\/strong> <code>cast_to_text<\/code>, <code>cast_to_int<\/code>, <code>cast_to_number<\/code>, <code>cast_to_date<\/code>, <code>cast_to_timestamp<\/code><\/p>\n\n\n\n<h2>JOINs<\/h2>\n\n\n\n<p>Combine dados de m\u00faltiplas tabelas:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"table_name\": \"pedidos\",\n  \"columns\": [\"pedidos.id\", \"clientes.nome\", \"pedidos.total\"],\n  \"column_aggregations\": [\"none\", \"none\", \"none\"],\n  \"joins\": [\n    {\n      \"tableName\": \"clientes\",\n      \"joinType\": \"LEFT\",\n      \"conditions\": [\n        {\n          \"leftColumn\": \"pedidos.cliente_id\",\n          \"rightColumn\": \"clientes.id\"\n        }\n      ]\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<p>Tipos de JOIN: <code>INNER<\/code> (apenas registros com correspond\u00eancia), <code>LEFT<\/code> (todos da tabela principal + correspond\u00eancias), <code>RIGHT<\/code> (todos da tabela unida + correspond\u00eancias), <code>FULL<\/code> (todos de ambas), <code>CROSS<\/code> (produto cartesiano).<\/p>\n\n\n\n<p>Ao usar JOINs, prefixe os nomes das colunas com o nome da tabela (ex: <code>pedidos.id<\/code>, <code>clientes.nome<\/code>).<\/p>\n\n\n\n<h2>UNION ALL<\/h2>\n\n\n\n<p>Combine resultados de consultas em tabelas diferentes. Todas as consultas ficam dentro do array <code>union<\/code> (m\u00ednimo 2). Os campos <code>order_by<\/code> e <code>limit<\/code> ficam no n\u00edvel raiz.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"union\": [\n    {\n      \"table_name\": \"vendas_2025\",\n      \"dest_collection_id\": 12345,\n      \"columns\": [\"mes\", \"receita\"],\n      \"column_aggregations\": [\"none\", \"sum\"],\n      \"dimensions\": [\"mes\"]\n    },\n    {\n      \"table_name\": \"vendas_2024\",\n      \"columns\": [\"mes\", \"receita\"],\n      \"column_aggregations\": [\"none\", \"sum\"],\n      \"dimensions\": [\"mes\"]\n    }\n  ],\n  \"order_by\": [{\"column\": \"receita\", \"direction\": \"desc\"}],\n  \"limit\": 500\n}<\/code><\/pre>\n\n\n\n<h2>Limites e restri\u00e7\u00f5es<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Restri\u00e7\u00e3o<\/th><th>Valor<\/th><\/tr><\/thead><tbody><tr><td>M\u00e1ximo de registros por consulta<\/td><td>1.000<\/td><\/tr><tr><td>Condi\u00e7\u00f5es de filtro<\/td><td>Apenas AND<\/td><\/tr><tr><td>Subconsultas<\/td><td>N\u00e3o suportadas<\/td><\/tr><tr><td>DISTINCT<\/td><td>N\u00e3o suportado (use <code>count_distinct<\/code>)<\/td><\/tr><tr><td>UNION simples<\/td><td>N\u00e3o suportado (apenas UNION ALL)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2>Exemplos completos<\/h2>\n\n\n\n<h3>Vendas por regi\u00e3o no \u00faltimo m\u00eas<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"dest_collection_id\": 12345,\n  \"table_name\": \"vendas\",\n  \"columns\": [\"regiao\", \"receita\", \"pedidos\"],\n  \"column_aggregations\": [\"none\", \"sum\", \"count\"],\n  \"dimensions\": [\"regiao\"],\n  \"where_conditions\": [\n    {\"column\": \"data_venda\", \"operator\": \"LAST_MONTH\"}\n  ],\n  \"order_by\": [{\"column\": \"receita\", \"direction\": \"desc\"}]\n}<\/code><\/pre>\n\n\n\n<h3>Top 10 clientes por valor de compra<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"dest_collection_id\": 12345,\n  \"table_name\": \"pedidos\",\n  \"columns\": [\"pedidos.cliente_id\", \"clientes.nome\", \"pedidos.valor\"],\n  \"column_aggregations\": [\"none\", \"none\", \"sum\"],\n  \"dimensions\": [\"pedidos.cliente_id\", \"clientes.nome\"],\n  \"joins\": [\n    {\n      \"tableName\": \"clientes\",\n      \"joinType\": \"LEFT\",\n      \"conditions\": [\n        {\"leftColumn\": \"pedidos.cliente_id\", \"rightColumn\": \"clientes.id\"}\n      ]\n    }\n  ],\n  \"order_by\": [{\"column\": \"valor\", \"direction\": \"desc\"}],\n  \"limit\": 10\n}<\/code><\/pre>\n\n\n\n<h3>Filtro com m\u00faltiplas condi\u00e7\u00f5es<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"dest_collection_id\": 12345,\n  \"table_name\": \"leads\",\n  \"columns\": [\"nome\", \"email\", \"origem\", \"score\"],\n  \"where_conditions\": [\n    {\"column\": \"score\", \"operator\": \"&gt;=\", \"value\": 80},\n    {\"column\": \"origem\", \"operator\": \"IN\", \"value\": [\"google\", \"facebook\"]},\n    {\"column\": \"email\", \"operator\": \"IS NOT NULL\"},\n    {\"column\": \"criado_em\", \"operator\": \"LAST_N_DAYS\", \"value\": 90}\n  ],\n  \"order_by\": [{\"column\": \"score\", \"direction\": \"desc\"}],\n  \"limit\": 100\n}<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote\"><p><\/p><cite>Consultas KSQL est\u00e3o em modo beta<\/cite><\/blockquote>\n\n","protected":false},"excerpt":{"rendered":"<p>Refer\u00eancia completa do KSQL, a linguagem de consulta da Kondado. Aprenda a filtrar, agrupar e transformar dados no Via Kondado.<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[281],"tags":[],"_links":{"self":[{"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/posts\/11094"}],"collection":[{"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/comments?post=11094"}],"version-history":[{"count":1,"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/posts\/11094\/revisions"}],"predecessor-version":[{"id":11099,"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/posts\/11094\/revisions\/11099"}],"wp:attachment":[{"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/media?parent=11094"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/categories?post=11094"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kondado.com.br\/blog\/wiki\/wp-json\/wp\/v2\/tags?post=11094"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}