Thus, the CLUSTER BY clause specifies that data for each SessNO are processed as separate streams; instead, the SEQUENCE BY clause specifies that the tuples for each SessNO are ordered by ascending clickTime. Finally, the pattern AS (X, Y, Z) specifies that, for each SessNO, we seek a sequence of the three tuples X, Y, Z (with no intervening tuple allowed) that satisfy the conditions stated in the WHERE clause. Observe that in the SELECT clause, we return information from both the Y tuple and the Z tuple. This information is returned immediately, as soon as the pattern is recognized; thus it generates another stream that can be.