Estructura de una consulta

Las consultas de los campos de métricas y segmentos se pueden enviar al método reports.search. Para crear una consulta en el lenguaje de consulta de Merchant Center, primero debes redactar la consulta con la gramática del lenguaje. Una consulta se compone de varias cláusulas:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

Las cláusulas usan nombres de campo, nombres de tablas, operadores, condiciones y ordenamientos para ayudarte a seleccionar los datos deseados. Una vez que se combina en una sola consulta, se puede realizar una solicitud con Google Content API for Shopping. Veamos cómo se puede usar cada cláusula.

modelo de la UE

SELECT

La cláusula SELECT especifica un conjunto de campos para recuperar en la solicitud. SELECT toma una lista separada por comas de campos de segmentos y métricas, y muestra los valores en la respuesta. La cláusula SELECT es obligatoria en una consulta.

A continuación, se muestra una consulta de muestra que selecciona las métricas de clics de una tabla determinada:

SELECT
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’

También puedes consultar diferentes tipos de campos en una sola solicitud:

SELECT
  segments.date,
  segments.program,
  metrics.impressions,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
  • Segmentar campos

    • segments.date
    • segments.program
  • Métricas

    • metrics.impressions
    • metrics.clicks

Algunos campos no están permitidos en la cláusula SELECT debido a la siguiente restricción:

  • Consulta campos de segmento sin al menos un campo de métrica.

Puedes encontrar información relacionada con la condición anterior en nuestros documentos de referencia.

FROM

La cláusula FROM especifica la tabla de la que se deben recuperar los datos en la solicitud. La tabla de la cláusula FROM define qué campos se pueden usar en todas las demás cláusulas para la consulta dada. Solo se puede especificar una única tabla en la cláusula FROM. Actualmente, solo se admite la tabla MerchantPerformanceView. La cláusula FROM es obligatoria en una consulta al método search en el servicio reports.

WHERE

La cláusula WHERE especifica las condiciones que se deben aplicar cuando se filtran los datos para la solicitud. Cuando se usa la cláusula WHERE, se pueden especificar una o más condiciones con AND para separarlas. Cada condición debe seguir el patrón field_name Operator value. Se puede usar cualquier campo de segmentos en la cláusula WHERE, pero los campos de métricas deben especificarse en la cláusula SELECT para que se usen en la cláusula WHERE. La cláusula WHERE es obligatoria en una consulta, ya que siempre debes especificar el período en el que deseas que se muestren tus datos de rendimiento.

A continuación, se muestra un ejemplo del uso de WHERE para mostrar métricas de un período determinado:

SELECT
  segments.offer_id,
  metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’

Puedes combinar varias condiciones para filtrar los datos. En este ejemplo, se muestra la cantidad de clics por oferta para el programa SHOPPING_ADS en el que la cantidad de clics supera los 100 clics en un período de 30 días determinado.

SELECT
  segments.offer_id,
  segments.program,
  metrics.clicks
FROM MerchantPerformanceView
WHERE metrics.clicks > 100
  AND segments.program = SHOPPING_ADS
  AND segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’;

En la siguiente consulta, notarás que se seleccionó segments.date. Independientemente de si seleccionas segments.date, siempre se debe proporcionar un período limitado en la cláusula WHERE para recuperar datos de rendimiento.

SELECT
  segments.date,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’

Cuando se filtra, es importante tener en cuenta la distinción entre mayúsculas y minúsculas del operador.

Para obtener una lista completa de operadores, consulta la gramática del idioma.

ORDER BY

La cláusula ORDER BY especifica el orden en el que se deben mostrar los resultados. Esto te permite organizar los datos en orden ascendente o descendente según el nombre de un campo. Cada orden se especifica como field_name seguido de ASC o DESC. Si no se especifica ASC ni DESC, el orden predeterminado es ASC. Solo los campos especificados en la cláusula SELECT se pueden usar en la cláusula ORDER BY. La cláusula ORDER BY es opcional en una consulta.

La siguiente consulta ordena las filas que se muestran según la cantidad de clics, de mayor a menor:

SELECT
  segments.offer_id,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY metrics.clicks DESC

Puedes especificar varios campos en la cláusula ORDER BY mediante una lista separada por comas. El orden ocurrirá en la misma secuencia que se especifica en la consulta. Por ejemplo, en esta consulta, los resultados se ordenarán en orden ascendente por offer_id, luego en orden descendente por cantidad de impresiones y, luego, en orden descendente por cantidad de clics:

SELECT
  segments.offer_id,
  metrics.impressions,
  metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY
  segments.offer_id,
  metrics.impressions DESC,
  metrics.clicks DESC

LIMIT

La cláusula LIMIT te permite especificar la cantidad de resultados que se mostrarán. Esto es útil si solo te interesa un resumen.

Por ejemplo, se puede usar LIMIT para restringir la cantidad total de resultados de la siguiente consulta:

SELECT
  segments.program,
  segments.offer_id,
  metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY metrics.impressions DESC
LIMIT 50