mysql - SQL 查询以确定同类群组中发送 1 个或多个邀请的用户百分比
问题描述
我有以下表格:
USERS: id, created_at, onboarding_started_at
INVITATIONS: id, user_id
我正在编写一个查询,显示发送 1 个或多个邀请的新用户的百分比。这是我到目前为止所拥有的:
SELECT floor(datediff(u.created_at, curdate()) / 7) AS weeks_ago,
count(DISTINCT u.id) AS "New Users in Cohort",
count(DISTINCT i.id) AS "Total Invites in Cohort",
count(DISTINCT i.user_id) AS "Uniq Users who invited Cohort",
count(DISTINCT u.id) / count(DISTINCT i.user_id) AS "% who invite"
FROM users u
LEFT JOIN invitations i
ON u.id = i.user_id
WHERE u.onboarding_started_at IS NOT NULL
GROUP BY weeks_ago;
目前这是错误地输出“邀请的百分比”。示例数据:
weeks_ago | New Users in Cohort | Uniq Users who Invited Cohort | % who invite
-32 | 12 | 557 | 12 1.0000
在上面的例子中,% who invite
显示 1.0000
我应该怎么做才能修复“邀请的百分比”?我计算Uniq Users who invited Cohort
不正确吗?
谢谢
解决方案
您是否尝试过将值转换为 DECIMAL?
CAST(count(DISTINCT u.id) AS DECIMAL(7,2)) / CAST(count(DISTINCT i.user_id) AS DECIMAL(7,2))
推荐阅读
- c - 为什么我得到 0 结果?
- alexa - 让 alexa/amazon echo 说出我输入的内容
- python - 如何找到图像中最外层的线条?
- android - 上传到播放商店 64 位
- c# - EntityFramework - 具有密钥 (PK) 的实体不会往返
- java - Spring 在 JUnit 测试中找不到 DataSource Bean
- python-3.x - vscode pytest 测试发现因缺少环境变量而失败
- ios - Firebase 调试从导出的 ipa 文件安装的应用查看实时事件
- gauge - 相同的计量步骤,不同的实现
- docusignapi - 是否可以将 Docusign API 与 IronPython 一起使用