gpt4 book ai didi

sql - 事件记录按两个单独的值分组

转载 作者:数据小太阳 更新时间:2023-10-29 07:31:41 25 4
gpt4 key购买 nike

我有一个名为 Documents 的表格(部分)如下所示。有文档 ID、文件类型和 user_id。

id     type  user_id
1 PDF 1
2 PDF 1
3 PDF 2
4 PDF 3
5 JPG 1
6 JPG 3
7 JPG 3
8 JPG 3
9 JPG 1
10 PNG 2
11 PNG 2

我想做的是计算有多少用户上传了每种不同的文件类型。所以鉴于上面的数据......我想要一些类似的东西:

{"PDF" => 3, "JPG" => 2, "PNG" => 1}

意思是 3 个不同的 用户上传了 PDF,2 个不同的用户上传了 JPG,等等。

我尝试执行 Document.group(:user_id).group(:type).count 但这给了我每个 user_id/type 的巨大散列 带有计数的组合...

最佳答案

使用纯 SQL:

SELECT type, COUNT(DISTINCT user_id) AS cnt 
FROM Documents
GROUP BY type;

LiveDemo

关于sql - 事件记录按两个单独的值分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36412462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com