python - python函数.size()的sql等效函数是什么?
问题描述
我正在尝试解决 bigquery 的问题;连续6个月交易的客户名单。我已经用 python 解决了,但我不知道如何在 sql 上复制代码。这是代码
df.groupby(['Month','accounttoken'])['transactionid'].value_counts()
a=df[df.groupby(['Month','accounttoken'])['transactionid'].transform('count')>=5]
df_grouped = a.groupby(['Month', 'accounttoken','Name']).size().reset_index(name='num_transactions')
a1 = df_grouped[df_grouped['num_transactions']>=5]
到目前为止,这就是我对 sql 所做的
select Month, Name,accounttoken,count(transactionid) no_of_trans from data
group by Month, accounttoken,Name
having count(transactionid)>=5
我认为我需要的是 .size() 函数的等价物
解决方案
count(*) 正在计算组中的行数。
SELECT count(*) as num_transactions
FROM data
GROUP BY Month, accounttoken, name
HAVING count(*) >= 5
您可以使用这些 SQL 查询来替换您给出的最后两行 Python 代码。我希望你给出的 SQL 查询也能正常工作。
推荐阅读
- php - 更改 API 数据输出的布局
- html - 添加路径到动态创建的链接
- ruby-on-rails-5 - 如何在 Rails 中的活动存储关联中附加邮件中的图像
- postgresql - 未记录表上的 WALWriteLock
- express - 如何集成localtunnel和sendgrid测试集成webhook?
- ios - 我在 xcode 9.4 中找不到 .entitlements 文件
- jenkins - 无法在 groovy DSL 中拆分字符串并且没有多行
- javascript - CSV 到 JavaScript 对象 node.js 的日期解析问题 - 零被丢弃
- java - Java While Advance x 循环
- php - 如何在 URL 中附加 1 个以上的可选查询参数,然后根据这 2 个参数获取记录?