PATTERN_ID
返回匹配模式实例的全分区唯一标识符整数值。
语法
PATTERN_ID()
注意
模式匹配函数必须用在 MATCH 子句 语法中;例如,如果单独调用 PATTERN_ID(),Vertica 将返回以下错误消息:
=> SELECT pattern_id();
ERROR: query with pattern matching function pattern_id must include a MATCH clause
示例
注意
此示例使用在 事件系列模式匹配 中定义的架构。以下语句分析了用户在 website2.com 的浏览历史并标识了用户从另一网站(进入)登录 website2.com 以及在做出购买之前(购买)浏览任意数量的其他页面(站内)的模式。查询也输出了 PATTERN_ID() 的值,表示匹配模式实例的全分区标识符。
SELECT uid,
sid,
ts,
refurl,
pageurl,
action,
pattern_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)
ROWS MATCH FIRST EVENT);
uid | sid | ts | refurl | pageurl | action | pattern_id
----+-----+----------+----------------------+----------------------+--------+------------
1 | 100 | 12:00:00 | website1.com | website2.com/home | V | 1
1 | 100 | 12:01:00 | website2.com/home | website2.com/floby | V | 1
1 | 100 | 12:02:00 | website2.com/floby | website2.com/shamwow | V | 1
1 | 100 | 12:03:00 | website2.com/shamwow | website2.com/buy | P | 1
2 | 100 | 12:10:00 | website1.com | website2.com/home | V | 1
2 | 100 | 12:11:00 | website2.com/home | website2.com/forks | V | 1
2 | 100 | 12:13:00 | website2.com/forks | website2.com/buy | P | 1
(7 rows)