我有一個下表,我想計算會議之前發生的 t_id 數量(task_type="Meeting")和會議之后發生的 t_id 數量(task_type="Meeting")。在輸出中,我正在尋找兩列“會議前”和“會議后”。會議前將在“會議”之前計算 t_id,而“會議后”將在會議后計算 t_id,這將為每個 o_id 重置。
在下面的示例中,O_id="1011" 任務發生在會議 5 之前和會議之后 2 對于 O_id="1022" 任務發生在會議 2 之前和會議之后是 3。
我需要 Big Query 中的邏輯
.
uj5u.com熱心網友回復:
你可以試試這個(替換TABLE你的表名):
WITH meeting_t_dates as (
SELECT
o_id,
t_date
FROM TABLE
WHERE task_type = 'Meeting'
)
SELECT
TABLE.t_id,
TABLE.o_id,
TABLE.task_type,
TABLE.t_date,
TABLE.c_date,
TABLE.cr_date,
TABLE.Sales,
CASE
WHEN meeting_t_dates.t_date < TABLE.t_date THEN 1
ELSE 0
END AS 'Before Meeting',
CASE
WHEN meeting_t_dates.t_date > TABLE.t_date THEN 1
ELSE 0
END AS 'After Meeting'
FROM
TABLE
LEFT JOIN meeting_t_dates
ON meeting_t_dates.o_id = TABLE.o_id
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/517936.html
標籤:Google Cloud Collective sql谷歌大查询数数
上一篇:努力對sqlitedb運行查詢
下一篇:服務“SomthingContoller”依賴于不存在的服務“Swag\PluginName\Service\OrderService”
