weixin_42530299 2023-08-13 00:53 采纳率: 100%
浏览 5
已结题

SQL引用同一个表的2个子查询结果进行相除

问题遇到的现象和发生背景

数据格式如下:

img

操作环境、软件版本等信息

sql

尝试过的解决方法

select
(SELECT COUNT(DISTINCT user_id) FROM 行为表_action WHERE behavior = 'pay' GROUP BY date)/
(SELECT COUNT(DISTINCT user_id) FROM 行为表_action GROUP BY date)

select
(SELECT date,COUNT(DISTINCT user_id) FROM 行为表_action WHERE behavior = 'pay' GROUP BY date)/
(SELECT date,COUNT(DISTINCT user_id) FROM 行为表_action GROUP BY date)

我想要达到的结果

将两个查询使用除法运算进行组合:

(查询1) / (查询2)

得到每天付费用户占活跃用户的比例。

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-08-13 02:08
    关注

    【以下回答由 GPT 生成】

    解决方案如下:

    你可以将查询1和查询2的结果作为子查询,然后在外部查询中进行除法运算。

    SELECT 
        t1.date,
        t1.pay_users / t2.active_users AS conversion_rate
    FROM
        (SELECT 
            date,
            COUNT(DISTINCT user_id) AS pay_users
        FROM 
            行为表_action
        WHERE 
            behavior = 'pay'
        GROUP BY 
            date) AS t1
    INNER JOIN
        (SELECT 
            date,
            COUNT(DISTINCT user_id) AS active_users
        FROM 
            行为表_action
        GROUP BY 
            date) AS t2
    ON 
        t1.date = t2.date
    

    这个查询会将每天的付费用户数量和活跃用户数量进行除法运算,得到每天付费用户占活跃用户的比例。结果会包括日期和比例两列。

    请注意,这里我们使用了子查询来计算每天的付费用户和活跃用户数量,然后通过内连接将两个子查询结果合并,并在外部查询中进行除法运算。这样可以得到每天的付费用户占活跃用户的比例。

    希望这个解决方案对你有帮助。如果还有其他问题,请随时提问。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月10日
  • 已采纳回答 9月2日
  • 创建了问题 8月13日

悬赏问题

  • ¥15 找一个QT页面+目标识别(行人检测)的开源项目
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析
  • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败
  • ¥15 用Ros中的Topic通讯方式控制小乌龟的速度,走矩形;编写订阅器代码
  • ¥15 LLM accuracy检测
  • ¥15 pycharm添加远程解释器报错
  • ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口