簡體   English   中英

在Domo中使用SQL來應用多個組或過濾器

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

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