簡體   English   中英

如何根據 BigQuery 中另一列的條件顯示值的計數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM