使用 ShopifyQL 查询编辑器
您可以将 ShopifyQL 与新版 Shopify 分析配合使用来探索您商店的数据库和检索数据,以便更深入地了解您的商店。
ShopifyQL(Shopify 查询语言)是 Shopify 专为商务构建的查询语言。查询语言用于从数据库请求数据和检索数据。您商店的数据存储在数据库表中,采用已定义的列和行的结构。列用于定义它们包含的信息类型,例如销售额,行指定数据类型的实际值,例如 2,450 美元销售额。
若要以有意义的格式检索数据,则必须将_查询_提交到数据库。查询是请求提供特定数据作为答案的问题,由_关键字_及其对应_参数_构成。具有特定参数的多个关键字组合可构成查询。构建查询后,您可以运行查询并接收报告。
术语表
术语 | 定义 |
---|---|
外形尺寸 | 对数据进行细分的属性,使数据可以更清晰地排序和呈现。维度的常见示例包括时间、产品和位置。维度在 ShopifyQL 中用作参数。 |
关键字 | 充当命令来引导查询的 ShopifyQL 语法。 |
指标 | 数据的定量衡量。指标的常见示例包括总销售额、订单数和毛利润。 |
参数 | 用于标识要在查询中包含的数据库元素或详细信息的 ShopifyQL 语法。 |
运算符 | 用于构成查询的保留字词或字符。示例包括 STARTS WITH 、>= 或 last_week 。 |
ShopifyQL 语法
使用 ShopifyQL 制作有效的报告查询时,您必须满足以下要求:
- 您可以将整个查询放在一行或多个单独的行中。
- 您必须至少包含
FROM
和SHOW
关键字及其相应的参数。所有其他关键字和参数都是可选的。 - 必须按以下顺序在查询中包含所有关键字:
1.
FROM
2.SHOW
3.WHERE
4.GROUP BY
5.TIMESERIES
6.WITH
TOTALS
、GROUP_TOTALS
、PERCENT_CHANGE
7.HAVING
8.SINCE
和UNTIL
或DURING
9.COMPARE TO
和可选的UNTIL
10.ORDER BY
11.LIMIT
12.VISUALIZE
和TYPE
这是一个使用正确语法编写为查询的 ShopifyQL 示例。关键字以粗体显示,使用通用占位符包含其相应参数,可选参数位于括号中:
FROM table_name1, table_name2, ...
SHOW column1 { AS alias }, column2 { AS alias }, ...
WHERE condition
GROUP BY dimension
TIMESERIES time_dimension
WITH TOTALS, GROUP_TOTALS, PERCENT_CHANGE
HAVING condition
SINCE date_offset
UNTIL date_offset
DURING named_date_range
COMPARE TO [date_offset, ...]
ORDER BY column { ASC | DESC }
LIMIT number { OFFSET number }
VISUALIZE [alias1, alias2, ...]
TYPE { visualization_type }
LIMIT number
ShopifyQL 关键字
ShopifyQL 查询涵盖基本查询(获得高级数据洞察)到全面查询(获得详细洞察)。每个关键字都有用于构建查询的特定功能。
关键字 | 描述 |
---|---|
FROM | 指定要从中选择数据的数据集表。 |
SHOW | 选择要从数据集表提取的列。 |
WHERE | 定义行要可供选择必须满足的条件。 |
GROUP BY | 按外形尺寸或时间维度对提取的数据进行分组。 |
TIMESERIES | 在查询中按时间维度和回填日期来区分分组。 |
WITH | 修改某些 ShopifyQL 关键字的行为。 |
HAVING | 在查询分组后筛选查询的结果。 |
SINCE | 显示自过去某个指定时间起的数据。通常与 UNTIL 搭配。 |
UNTIL | 显示截止过去某个指定时间的数据。通常与 SINCE 或 COMPARE TO 搭配。 |
DURING | 显示过去某个指定时间范围内的数据。 |
COMPARE TO | 显示要与过去指定时间进行比较的数据。 |
ORDER BY | 指定按哪个列对数据排序。 |
LIMIT | 限制显示的数据行数。 |
VISUALIZE | 以线形或条形可视化效果显示您的数据。您可以使用 TYPE 指定所需的可视化效果。 |
AS | 用于将列重命名为您所选名称的可选关键字。 |
创建最简单的 ShopifyQL 查询只需要两个关键字:FROM
和 SHOW
(编写时采用该顺序)。FROM
,后跟一个或多个表格名称参数(用于指定要查询的表)。SHOW
,后跟任何数量的列名称参数(用于指定要选择的列)。
SHOW
可用于指定报告中返回的指标和维度的顺序。
例如,您可以通过编写如下查询来返回总销售额的总计值:
FROM sales
SHOW total_sales
WHERE
通过 WHERE
关键字,您可以在整个 ShopifyQL 查询中应用维度筛选条件。可以通过比较运算符(例如大于 >
)、逻辑运算符(例如 AND
或 NOT
)以及部分字符串和数组匹配(例如 STARTS WITH
和 CONTAINS
)来修改该筛选条件。
WHERE
条件必须满足以下要求:
- 值必须放在单引号 (') 而不是双引号 (") 内。
- 条件不能包含任何算法。
- 条件只能引用维度,不能引用指标。
例如,如果您想返回总销售额,但已基于账单寄送国家/地区进行筛选,则查询为:
FROM sales
SHOW total_sales, product_title, product_type, product_vendor
WHERE billing_country='Canada'
GROUP BY product_title, product_type, product_vendor
如上面的示例所示,您可以使用 WHERE
参数筛选结果集,即使 SHOW
关键字中不包含该参数也是如此。在此示例中,仅筛选来自加拿大的订单的总销售额,而 billing_country
未包含在结果设置中。
比较运算符
WHERE
关键字使用比较运算符来筛选数据。在上面的示例中,=
用于指定查询筛选特定值,但是,您还可以使用其他运算符:
比较运算符 | 描述 |
---|---|
= | 等于 |
!= | 不等于 |
< | 小于 |
> | 大于 |
<= | 小于或等于 |
>= | 大于或等于 |
若要进一步筛选数据,您可以向查询中添加逻辑运算符。ShopifyQL 逻辑运算符包括:
逻辑运算符 | 描述 |
---|---|
AND | 筛选以包含满足 AND 分隔的所有条件的所有行。 |
OR | 筛选以包含满足 OR 分隔的条件之一的所有行。 |
NOT | 筛选以仅包含不满足条件的行,例如不包含指定值的行。 |
您可以通过添加逻辑运算符来对 WHERE
关键字使用多个筛选条件。
结合示例数据集查询,若要针对账单地址位于加拿大且应用了折扣的所有桃干订单进行每月净销售额分组,则查询为:
FROM sales
SHOW total_sales, product_title, product_type, product_vendor
WHERE billing_country = 'Canada' AND product_title = 'Dried Peaches' AND is_discounted_sale = true
GROUP BY product_title, product_type, product_vendor
GROUP BY
若要按维度对指标进行细分,例如按地区对销售额分组,请使用 GROUP BY
关键字。GROUP BY
关键字可与任何维度参数一起使用。
例如,按账单寄送国家/地区来对总销售额进行分组的查询可编写为:
FROM sales
SHOW total_sales
GROUP BY billing_country, billing_region
下方是另一个使用时间维度来按月显示总销售额的示例查询:
FROM sales
SHOW total_sales
GROUP BY month
上方查询不会返回您没有销售额的任何月份。如果您想让查询返回一个完整、不中断的时间段,请使用 TIMESERIES
关键字。
FROM sales
SHOW total_sales
TIMESERIES month
SINCE last_year
UNTIL today
时间维度
下方是可用于对数据进行分组的时间维度:
运算符 | 描述 |
---|---|
second | 按某个小时的秒分组。 |
minute | 按某个小时的分钟分组。 |
hour | 按日历日中的某一小时分组。 |
day | 按日历日分组。 |
week | 按日历周分组。 |
month | 按日历月分组。 |
quarter | 按日历季度分组。 |
year | 按日历年分组。 |
hour_of_day | 按 24 小时(0、1、...、23)从零开始分组。 |
day_of_week | 按星期几(0、1、......、6)从零开始分组。 |
week_of_year | 按一年中的某一周(1、2、...、52)分组。 |
month_of_year | 按一年中的某一月(1、2、...、12)分组。 |
您可在以下场景使用 TIMESERIES
关键字:按时间维度区分分组,按时间段查看指标,以及在查询中回填日期以生成不存在数据的时间序列图表。
在此示例中,您将回填过去 15 天内缺少的总销售额数据:
FROM sales
SHOW total_sales
GROUP BY product_title, billing_country
TIMESERIES day
SINCE -15d
TIMESERIES 和列顺序
根据 TIMESERIES
是否被指定以及是否存在于 GROUP BY
或 SHOW
值中,列顺序可能会更改。
TIMESERIES | SHOW | GROUP BY | 结果 |
---|---|---|---|
指定 | 不存在 | 不存在 |
TIMESERIES 是第一个维度。 |
指定 | 不存在 | 存在 | 时间维度位置由其在 GROUP BY 中的位置决定。 |
指定 | 存在 | 存在 | 时间维度位置由其在 SHOW 中的位置决定。 |
未指定 | 不存在 | 存在 | 时间维度位置由其在 GROUP BY 中的位置决定。不回填数据。 |
未指定 | 存在 | 存在 | 时间维度位置由其在 SHOW 中的位置决定。不回填数据。 |
未指定 | 存在 | 不存在 | 触发语法错误,因为 SHOW 只能引用 GROUP BY 中存在的维度。 |
与 WHERE
类似,查询分组后,您可以使用 HAVING
关键字来筛选查询的结果。筛选条件可以有一个条件,但可以通过比较运算符(例如大于 >
)和逻辑运算符(例如 AND
或 NOT
)来修改该条件。与 WHERE
关键字不同,HAVING
可以引用别名、聚合函数和分组列。
HAVING
要求查询包含 GROUP BY
或 TIMESERIES
子句,因为 HAVING
在查询按 GROUP BY
或 TIMESERIES
分组后筛选查询的结果。
在此示例中,您筛选总销售额大于 1000 且小于 5000 的每种产品的总销售额:
FROM sales
SHOW total_sales
GROUP BY product_title
HAVING total_sales > 1000 AND total_sales < 5000
WITH
WITH
关键字修改某些其他 ShopifyQL 关键字的行为。可执行 3 种修改:
TOTALS
:在指标按任何维度细分前,提供指标的顶级摘要。GROUP_TOTALS
:在有按聚合划分的组时,提供所有子组的总计值。PERCENT_CHANGE
:向COMPARE TO
中的每个对比列添加百分比更改指标。在存在此修饰符时,为每个对比指标列添加一个新列,其中包含百分比更改。
TOTALS
在指标按任何其他维度细分前,TOTALS
修饰符提供指标的顶级摘要。当您使用 WITH TOTALS
时,查询会在结果集中以额外列的形式返回总计值,列名称中包含指标名称和“总计”。每行包含所有适用的总计值。
例如,此查询显示总销售额的总计值:
FROM sales
SHOW gross_sales, net_sales, total_sales
TIMESERIES day
WITH TOTALS
此查询可能会返回类似下方的报告:
天 | 毛销售额 | 净销售额 | 总销售额 |
---|---|---|---|
摘要 | 6 | 15 | 24 |
2024-01-01 | 1 | 4 | 7 |
2024-01-02 | 2 | 5 | 8 |
2024-01-03 | 3 | 6 | 9 |
在有按聚合划分的组时,GROUP_TOTALS
修饰符提供所有子组的总计值。当您使用 WITH GROUP_TOTALS
时,查询会在结果集中以额外列的形式返回总计值,列名称中包含指标名称、计算总计值的维度和“总计”。每行包含所有适用的总计值。
例如,此查询按账单寄送国家/地区显示总销售额的总计值:
FROM sales
SHOW customer_id, total_sales
GROUP BY customer_id, billing_country
WITH TOTALS, GROUP_TOTALS
此查询可能会返回类似下方的报告:
国家/地区 | 客户 ID | 总销售额 |
---|---|---|
摘要(美国 + 加拿大) | - | 1 |
美国各组总计 | - | 0 |
US | 1 | 1 |
US | null | -1 |
加拿大各组总计 | - | 1 |
加拿大 | 1 | 1 |
使用 COMPARE TO
时,PERCENT_CHANGE
修饰符会向每个对比列添加百分比更改。当您使用 WITH PERCENT_CHANGE
时,查询会在结果集中以额外列的形式返回每个对比指标的百分比更改,列名称中包含指标名称和“百分比更改”。
用于计算百分比更改的公式为: (base_column - comparison_column) * 100 / abs(comparison_column)
例如,此查询使用 SINCE
和 COMPARE TO
将上一月中每天的净销售额与上一年同月的净销售额进行比较,且具有用于百分比更改的列:
FROM sales
SHOW net_sales
TIMESERIES day
WITH PERCENT_CHANGE
SINCE -1m
UNTIL -0m
COMPARE TO previous_year
生成报告中的列包括日期、净销售额、对比日期、对比净销售额和百分比更改净销售额。
SINCE 和 UNTIL
若要按日期或某一时间段筛选查询,则可以使用 SINCE
和 UNTIL
关键字及其关联参数。这些关键字是唯一的,因为它们仅筛选时间段。如果您使用 SINCE
并且未定义 UNTIL
值,则您的时间范围结束时间默认为 today
。
例如,下方的查询用于查找加拿大过去 12 个月内(截止昨天)的净销售额:
FROM sales
SHOW net_sales
WHERE billing_country = 'Canada'
GROUP BY month
SINCE -12m
UNTIL yesterday
偏移运算符
您可以按特定日期或按日期和时间偏移量进行筛选。ShopifyQL 偏移运算符如下所示:
移位运算符 | 描述 |
---|---|
-{#}s | 自查询运行的日期和时间起经过的秒数。 |
-{#}min | 自查询运行的日期和时间起经过的分钟数。 |
-{#}h | 自查询运行的日期和时间起经过的小时数。 |
-{#}d | 自查询运行的日期和时间起经过的天数。 |
-{#}w | 自查询运行的日期和时间起经过的星期数。 |
-{#}m | 自查询运行的日期和时间起经过的月数。 |
-{#}q | 自查询运行的日期和时间起经过的季度数。 |
-{#}y | 自查询运行的日期和时间起经过的年数。 |
yyyy-MM-dd | 具体日期。 |
yyyy-MM-ddThh:mm:ss | 特定日期和时间。 |
您可以在 SINCE
和 UNTIL
语句中将以下函数与任意日期范围运算符(具体日期除外)组合使用。与 SINCE
组合使用时,“startOf...
”函数会截断至相关时间单位(分钟、小时、日、星期、月、季度和年)的开始位置,而与 UNTIL
组合使用时,“endOf...
”函数会截断至相关时间单位的结束位置。
日期函数单位与运算符单位必须匹配才能返回有效结果。例如,startOfMonth(-1m)
正确,而 startOfMonth(-1d)
不正确。
日期函数 | 描述 |
---|---|
now | 运行查询的日期和时间。 |
startOfMinute(-{#}min) | 将日期范围运算符截断至目标分钟开始位置。 |
endOfMinute(-{#}min) | 将日期范围运算符截断至目标分钟结束位置。 |
startOfHour(-{#}h) | 将日期范围运算符截断至目标小时开始位置。 |
endOfHour(-{#}h) | 将日期范围运算符截断至目标小时结束位置。 |
startOfDay(-{#}d) | 将日期范围运算符截断至目标日期开始位置。 |
endOfDay(-{#}d) | 将日期范围运算符截断至目标日期结束位置。 | startOfWeek(-{#}w) | 将日期范围运算符截断至目标星期开始位置。 |
例如,如果今天是 2022 年 11 月 8 日,则您可以使用以下查询返回 2020 年 1 月 1 日至 2022 年 10 月 31 日的毛销售额:
FROM sales
SHOW gross_sales
SINCE startOfYear(-2y)
UNTIL endOfMonth(-1m)
DURING
DURING
关键字可简化日期范围的日期筛选,并且可取代 SINCE
和 UNTIL
。您可以使用 DURING
关键字筛选已知时间段(例如日历年或特定月份)的查询结果,或筛选每年日期不同的日期范围(例如黑色星期五/络星期一)的查询结果。例如:
FROM sales
SHOW total_sales
GROUP BY day
DURING bfcm2021
指定日期范围运算符
DURING
接受以下任意指定日期范围运算符:
指定日期范围运算符 | 描述 |
---|---|
today | 运行查询的日期。 |
yesterday | 运行查询之前的 24 小时周期。 |
this_week | 当前日历周。 |
this_month | 当前日历月。 |
this_quarter | 当前日历季度。 |
this_year | 当前日历年。 |
last_week | 上一个日历周。 |
last_month | 上一个日历月。 |
last_quarter | 上一个日历季度。 |
last_year | 上一个日历年。 |
bfcmYYYY | 指定年份的黑色星期五/网络星期一范围。例如,bfcm2022 返回 2022 年 11 月 25-28 日的结果。 |
COMPARE TO
通过 COMPARE TO
关键字,您可以将 SINCE
和 UNTIL
或 DURING
中日期范围的数据与 COMPARE TO
中日期范围的数据进行比较。
您可以将 COMPARE TO
关键字与以下类型的参数一起使用:
绝对日期,例如
2023-01-01
:包含指定时段的指标以及绝对日期的相同时段的对比指标。指定日期,例如
last_week
:包含指定时段的指标以及指定日期的相同时段的对比指标。 -COMPARE TO
使用的运算符的时间长度不一定与DURING
使用的运算符的时间长度相同。如果未提供UNTIL
值,它将计算时间范围以等于DURING
中指定的值。例如,DURING this_week COMPARE TO last_month
将本周的数据与自上个月月初起的一周时间段的数据进行比较。偏移日期,例如
-3q
:包含指定时段的指标以及相对日期的相同时段的对比指标。多个日期对比,例如
-1y, -2y
:将特定日期范围内的数据与其他多个日期范围的数据进行对比。当您想要跟踪多个时间段的变化情况时,这非常有用。如果您在使用
COMPARE TO
的查询中使用日期维度,则必须对其使用TIMESERIES
,而不是GROUP BY
。
下方的示例将上月的净销售额与上一年同月的净销售额进行对比:
FROM sales
SHOW net_sales, product_title
GROUP BY product_title
TIMESERIES day
SINCE -1m
UNTIL -0m
COMPARE TO previous_year
相对日期范围运算符
相对运算符返回与基准日期范围相同的时间长度,并向过去偏移指定时段。除了指定日期范围运算符外,COMPARE TO
接受以下相对运算符:
相对日期范围运算符 | 描述 |
---|---|
previous_period | 基准日期范围前的一个时段。 |
previous_year | 基准日期范围前的一年。 |
previous_quarter | 基准日期范围前的一个季度。 |
previous_month | 基准日期范围前的一个月。 |
previous_week | 基准日期范围前的一个星期。 |
previous_day | 基准日期范围前的一天。 |
previous_hour | 基准日期范围前的一个小时。 |
previous_minute | 基准日期范围前的一分钟。 |
previous_second | 基准日期范围前的一秒。 |
您可以使用 ORDER BY
关键字及其参数指定如何对查询返回的数据进行排序:ASC
(升序)和 DESC
(降序)。
您可以在 ORDER BY
关键字中指定要在查询中包含的任何指标或维度,包括多个字段。
例如,此查询返回过去一年所有产品和多属性的净销售额。结果首先按产品标题以字母顺序排序,然后按产品类型以反向字母顺序排序:
FROM sales
SHOW net_sales
GROUP BY product_title, product_type
SINCE -1y
UNTIL today
ORDER BY product_title, product_type DESC
您编写指标或维度的顺序非常重要。如果您为 ORDER BY
指定多个值,则该排序方式将应用于指定订单中的每个指标或维度。
TIMESERIES 和列顺序
根据查询是否包含 TIMESERIES
和 ORDER BY
,列顺序可能会更改。
TIMESERIES | ORDER BY | 结果 |
---|---|---|
存在 | 不存在 | 结果按 TIMESERIES 维度排序。 |
存在 | 存在 | 结果按 TIMESERIES 时间维度排序,然后按 ORDER BY 维度排序。 |
不存在 | 存在 | 结果按 ORDER BY 维度排序。 |
不存在 | 不存在 | 结果按第一个 SHOW 列排序。 |
通过 LIMIT
关键字,您可以指定查询返回的最大行数。如果您只想了解每列中数据的显示方式,或者想获得大型报告(查询可能需要较长时间才能返回值),这非常有用。您可以将 LIMIT
与 ORDER BY
组合使用来创建排名最前和排名最后的项列表。
如果您未指定 LIMIT
值,则查询默认为 1000 行。
您还可以使用可选 { OFFSET # }
参数来跳过特定数量的行,然后再开始返回行数据。生成的短语的格式将类似于:LIMIT 15 { OFFSET 5 }
。
下方的示例使用 LIMIT
和 ORDER BY
来创建过去 3 个月内销售额前 10 的产品列表:
FROM sales
SHOW gross_sales as total_gross_sales
GROUP BY product_title
SINCE -3m
UNTIL today
ORDER BY total_gross_sales DESC
LIMIT 10
VISUALIZE 和 TYPE
通过 VISUALIZE
关键字,您可以编写以图形可视化效果显示数据的 ShopifyQL 查询。支持的可视化效果包括以下值:
bar
stacked_bar
stacked_horizontal_bar
line
simple_bar
stacked_area
single_metric
donut
list
list_with_dimension_values
horizontal_bar
cohort
single_stacked_bar
funnel
grouped_bar
horizontal_grouped_bar
table
grid
TYPE
关键字是可选的,并且必须与一种类型的可视化效果配合使用。如果您的查询中不包含 TYPE
,则 ShopifyQL 会自动确定适合该查询的最佳可视化效果。如果您的查询无法以书面形式呈现,ShopifyQL 将返回表格数据。
VISUALIZE
还接受可选的 LIMIT
关键字,其中,参数是要呈现的数据点的有限数量。
例如,您可以使用趋势线来可视化呈现过去一年按月显示的销售额趋势。下方查询将返回一个时间序列图表,显示过去一年按月显示的总销售额。销售额用一条线来描绘,x 轴标记为“月”,y 轴标记为“总销售额”:
FROM sales
SHOW gross_sales
TIMESERIES month
SINCE -1y
UNTIL today
VISUALIZE gross_sales TYPE line
AS
关键字 AS
是一个可选关键字,可用于重命名列或 Expression(或为它们提供别名)。
AS
仅接受一个参数。如果别名名称中有空格,则您必须在别名周围使用双引号 (")。
FROM sales
SHOW total_sales AS "My Total Sales"
其他 ShopifyQL 运算符
ShopifyQL 包括以下其他运算符:
- 数学运算符,例如
+
或/
- 隐式联接
- 部分字符串和数组匹配,例如
STARTS WITH
和CONTAINS
- 评论
数学运算符
ShopifyQL 允许对数据中的指标进行算数运算。可以使用以下数学运算符:
数学运算符 | 描述 |
---|---|
+ | 将两个数值相加。 |
- | 将两个数值相减。 |
* | 将两个数值相乘。 |
/ | 将两个数值相除。 |
例如,下方的查询可计算过去一年每个地区的订单价值。将数学运算符应用于指标时,您可以使用 AS
关键字向新指标分配新名称。 请注意,数学表达式的使用存在局限性。
FROM sales
SHOW (net_sales + returns) AS order_value, orders
GROUP BY billing_region
SINCE -1y
UNTIL today
隐式联接
通过连接,您可以并排查看来自不同域名的指标。在 ShopifyQL 中,连接是自动且智能完成的。
ShopifyQL 具有以下连接功能:
- 当查询中只有一个
FROM
表时,ShopifyQL 支持通过维度字段进行连接操作。 - 维度字段上自动执行左连接。
- ShopifyQL 支持多事实连接(当查询中有多个
FROM
表时)。 - 多事实连接上自动执行全连接,支持任意数量的表或模式并按维度分组。
- 多事实连接中的指标可以使用数学运算。
Shopify QL 具有以下连接限制:
- 连接字段在所有连接的模式中必须具有相同的名称。
- 连接字段必须在
GROUP BY
中。 - 连接字段不能使用数学运算。
FROM
是多事实连接正常工作所必需的。- 在多事实连接中,每个
GROUP BY
都必须存在于所有模式中,并被视为用于连接的字段。
例如,此查询使用多事实连接:
FROM sales, sessions
SHOW day, total_sales, sessions
GROUP BY day
SINCE 2023-10-03
ORDER BY day
部分字符串和数组匹配
您可以使用以下运算符进行部分字符串和数组匹配:
运算符 | 描述 |
---|---|
STARTS WITH | 返回所有列以前缀开头的行。 |
ENDS WITH | 返回所有列以后缀结尾的行。 |
CONTAINS | 返回所有列包含部分字符串或数组中元素的行。 |
使用运算符进行部分字符串匹配的一些示例如以下查询所示:
FROM sales
SHOW product_title
WHERE product_title STARTS WITH 'Summer'
GROUP BY product_title
FROM sales
SHOW product_title
WHERE product_title ENDS WITH 'kit'
GROUP BY product_title
FROM sales
SHOW product_title
WHERE product_title CONTAINS 'Beef'
GROUP BY product_title
CONTAINS
运算符可用于匹配数组内的元素,包括整数、字符串和小数。此匹配不区分大小写。使用CONTAINS
进行数组匹配的一些示例包括以下查询:
FROM sales
SHOW orders
WHERE products_bought_together_ids CONTAINS '101'
FROM customers
SHOW total_number_of_orders
WHERE customer_cities CONTAINS 'seattle'
FROM sales
SHOW orders
WHERE variants_bought_together_variant_prices CONTAINS '10.2'
评论
您可以使用注释解释 ShopifyQL 语句的分区,或阻止 ShopifyQL 语句的执行。在执行期间,注释中的任何文本都将被忽略。
单行注释以 --
开头,在行末尾结束。
多行注释以 /*
开头,以 */
结尾。
FROM sales
SHOW average_order_value, gross_sales
-- the line below has been commented out and won't run
-- GROUP BY billing_region
WHERE billing_country = 'United States'
/*
this line and the two lines below it have been commented out and won't run
SINCE 2021-01-01
UNTIL 2021-12-31
*/