我正在研究PostgreSQL中的一個巨大的數據庫。 (對不起,如果這是不正確的編輯,我已經試了幾個小時,仍然在努力)按值組分組
這是用於我的查詢:(表user_activities)與一些示例數據的結構的一部分。
+---------------------+---------------------+---------------------+
| user_id | activity | operation |
+---------------------+---------------------+---------------------+
| 1 | 1 | 1 |
| 1 | 1 | 1 |
| 1 | 1 | 1 |
| 2 | 1 | 2 |
| 2 | 1 | 3 |
| 3 | 1 | 3 |
| 4 | 1 | 4 |
| 4 | 1 | 4 |
| 5 | 1 | 4 |
| 5 | 1 | 5 |
| 6 | 3 | 1 |
| 6 | 3 | 1 |
| 6 | 3 | 2 |
| 7 | 3 | 3 |
| 8 | 3 | 4 |
| 8 | 3 | 5 |
+---------------------+---------------------+---------------------+
,這是我想要的輸出:
+---------------------+---------------------+---------------------+
| count(user_id) | activity | operation |
+---------------------+---------------------+---------------------+
| 4 | 1 | 1,2 |
| 6 | 1 | 3,4,5 |
| 6 | 3 | 1,2,3,4,5 |
+---------------------+---------------------+---------------------+
我需要統計USER_ID運營值的每個活動和組。所以我需要在活動爲1或3時按活動進行分組(已完成WHERE activity IN (1,3)
)。但我也需要按操作分組。問題是每一組操作都會有超過1個值。操作可以是1,2,3,4和5.我想連接1,2的組和3,4,5的組。但是,這並不是全部...
如果我按手術分組,那麼每個活動都會有5組。我需要爲活動1(已指定組)設置2個組,並且只有一個組具有所有操作值(如果活動爲3)。
這可能嗎?
編輯: 我現在無法檢查答案,我希望明天能夠。因此,我會爲我的投票和答覆提供答案,謝謝你的幫助。
我認爲你應該編輯你的問題,並提供樣本數據和期望的結果(說明你在找什麼)以及你現在有的查詢(幫助其他人編寫查詢)。 –
@GordonLinoff好吧,給我一分鐘,編輯 – AleOtero93
你可以使用tablefunc擴展嗎? – dtelaroli