Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT date, inStock, outStock, COUNT(*) impress, SUM(add) adds
- FROM
- (
- SELECT * EXCEPT(temp)
- FROM
- (
- SELECT * EXCEPT(num),
- IF(inStock = 0 AND outStock= 0 AND add = 1, 1, 0) temp
- FROM
- (
- SELECT date, clientId, zapchast, inStock, outStock, MAX(add) OVER(partition BY clientId, zapchast, num) add, num
- FROM
- (
- SELECT date, clientId, type, zapchast,
- SUM(in_stock) inStock, SUM(out_stock) outStock, add, num
- FROM
- (
- SELECT *,
- IF(type="pageview",(DENSE_RANK() OVER(PARTITION BY clientId, zapchast ORDER BY time)),1) num
- FROM
- (
- SELECT
- date, time,
- clientId, type,
- (SELECT value FROM UNNEST(customGroups) WHERE index = 3) AS zapchast,
- product.position,
- IF(type = "pageview" AND product.productVariant="in_stock",1,0) in_stock,
- IF(type = "pageview" AND product.productVariant="out_stock",1,0) out_stock,
- IF(eCommerceAction.action_type = "add", 1,0) add
- FROM
- `dokdbroker.OWOXBI_Streaming.streaming_*`, UNNEST(product) product
- WHERE true
- AND _TABLE_SUFFIX BETWEEN "20180401" AND "20180431"
- AND (SELECT value FROM UNNEST(customGroups) WHERE index = 1) = "inside"
- AND (SELECT value FROM UNNEST(customGroups) WHERE index = 2) = "15"
- )
- WHERE TRUE
- AND position <= 12
- AND zapchast NOT IN ("20", "501", "521", "398")
- AND (type = "pageview" OR (type = "event" AND add = 1))
- )
- GROUP BY date, clientId, type, zapchast, add, num
- )
- )
- )
- WHERE temp = 0
- AND (inStock+ outStock) <= 12
- )
- GROUP BY inStock, outStock, date
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement