[英]How to show a count of values based on condition of another column in BigQuery
我有以下查詢:
Select ID,Event_Name,MAX(Page_URL) as URL,MAX(Value) as Value from database
Group by ID,Event_Name
Order by Event_Name
輸出以下數據:
ID | 事件名稱 | 網址 | 價值 |
---|---|---|---|
1個 | EV1 | 網站/ | 500 |
11 | EV1 | 網站/ | 500 |
3個 | EV2 | 網站/二 | 500 |
4個 | EV2 | 網站/二 | 500 |
6個 | EV2 | 網址/四 | 500 |
8個 | EV2 | 網址/六 | 500 |
5個 | EV3 | 網址/三 | 500 |
7 | EV3 | 網址/五 | 500 |
9 | EV3 | 網址/四 | 500 |
2個 | EV4 | 網站/一個 | 500 |
10 | EV4 | 網址/八 | 500 |
12 | EV4 | 網站/ | 500 |
但是,我想引入一個計數列,該列將根據事件名稱計算查詢中 URL 的所有實例。 我希望這樣輸出:
ID | 事件名稱 | 網址 | 價值 | 數數 |
---|---|---|---|---|
1個 | EV1 | 網站/ | 500 | 2個 |
11 | EV1 | 網站/ | 500 | 2個 |
3個 | EV2 | 網站/二 | 500 | 2個 |
4個 | EV2 | 網站/二 | 500 | 2個 |
6個 | EV2 | 網址/四 | 500 | 1個 |
8個 | EV2 | 網址/六 | 500 | 1個 |
5個 | EV3 | 網址/三 | 500 | 1個 |
7 | EV3 | 網址/五 | 500 | 1個 |
9 | EV3 | 網址/四 | 500 | 1個 |
2個 | EV4 | 網站/一個 | 500 | 1個 |
10 | EV4 | 網址/八 | 500 | 1個 |
12 | EV4 | 網站/ | 500 | 1個 |
希望有人能提供幫助。 謝謝你。
嘗試添加一個COUNT
窗口函數,如下所示:
WITH cte AS (
Select ID,Event_Name,MAX(Page_URL) as URL,MAX(Value) as Value from database
Group by ID,Event_Name
Order by Event_Name
)
SELECT *, COUNT(URL) OVER(PARTITION BY Event_Name, URL) AS cnt
FROM cte
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.