[英]Using SQL in Domo to apply multiple groups or filters
我正在嘗試過濾唯一的UserID,然后在另一列中查看哪些ID的值大於1。 我已經嘗試了很多來自SQL的示例-從一列中選擇唯一值,然后根據另一列以及至少一個或兩個以上的站點進行過濾,但是我卻找不到合適的鏈接,因為事實證明它一點都不相關。
我的數據集的相關列的示例如下:
+---------+-----------+
| UserIDs | EventType |
+---------+-----------+
| 100 | Start |
| 100 | Start |
| 100 | Finish |
| 100 | Finish |
| 200 | Start |
| 200 | Start |
| 200 | Start |
| 200 | Finish |
| 200 | Finish |
| 200 | Finish |
| 300 | Start |
| 400 | Start |
| 400 | Finish |
+---------+-----------+
我想找出的是有多少個用戶多次觸發EventType-Finish。 我從上面的示例中想要的數據將是:
+------------------------------------------------+
| Total # of students that battled more than once|
+------------------------------------------------+
| 2 |
+------------------------------------------------+ *edited*
Group By
東西似乎都不正確,因為它只會將其他行相互壓縮?
作為記錄,我一般對SQL
和編程都是新手,所以請盡量不要太過專業。 每當我幾乎以為自己已解決它時,我都會運行它,並且它給我帶來語法錯誤,因此我不知道該去哪里。
抱歉,我輸入的輸出錯誤,實際上我只是在尋找觸發多次Finish
的學生人數。 另外,我將用什么代替表名,例如: FROM "TABLE"
因為Domo有一種奇怪的方式來破壞層次結構。 對於上下文,我的表稱為“指標數據”,因此嘗試在表名稱中鍵入該值通常會將data
轉換為SQL
代碼。
試試這個答案,
SELECT UserId,COUNT(1) [# of Finishes]
FROM Your_Table
WHERE EventType='Finish'
GROUP BY UserID
HAVING COUNT(1)>1
希望能幫助到你。
我想在case
表達的幫助case
進行一些條件聚合
SELECT
UserIDs [UserID],
SUM(CASE(EventType) WHEN 'Finish' THEN 1 ELSE 0 END) [# of Finishes]
FROM <table> GROUP BY UserIDs
HAVING SUM(CASE(EventType) WHEN 'Finish' THEN 1 ELSE 0 END) > 1
結果:
UserID # of Start
100 2
200 3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.