我正在使用 Vertica 的 MATCH 子句,Vertica SQL 参考手册将其描述为“一个 SQL 扩展,可让您筛选大量历史数据以搜索事件模式,MATCH 子句提供用于分析分区和排序的子类,并匹配来自结果表基于您定义的模式。”
在程序员指南的示例中,示例中RESULTS ALL ROWS
出现了一个短语,如下所示:
SELECT uid,
sid,
ts,
refurl,
pageurl,
action,
event_name(),
pattern_id(),
match_id()
FROM clickstream_log
MATCH
(PARTITION BY uid, sid ORDER BY ts
DEFINE
Entry AS RefURL NOT ILIKE '%website2.com%' AND PageURL ILIKE '%website2.com%',
Onsite AS PageURL ILIKE '%website2.com%' AND Action='V',
Purchase AS PageURL ILIKE '%website2.com%' AND Action = 'P'
PATTERN
P AS (Entry Onsite* Purchase)
RESULTS ALL ROWS);
但是,我找不到做什么的定义RESULTS ALL ROWS
。令人不安的是,它会以某种微妙的方式影响输出。(意思是,需要很多行才能产生差异。)
有人知道这句话的实际作用吗?