如何将SQL结果转换为百分比?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (539)

我试图找到过去7天的百分比增长,但我有点卡住了。目前,在我创建的SQL查询中,你可以获得过去7天内新帐户的总数。但是现在,我如何能够以百分比的形式返回结果?

这是到目前为止完成的SQL查询:

SELECT COUNT(DISTINCT account_type)
FROM account
WHERE date_created > NOW() - INTERVAL 7 DAY
提问于
用户回答回答于

你可以创建一个包含两列的临时表,例如“旧计数”和“新计数”。使用从SELECT查询获得的值填充表。然后,从临时表中检索值以计算百分比差异并删除临时表。

用户回答回答于

使用临时表,你可以这样做:

    create temporary table storeCount IF NOT EXISTS (
        oldCount INT(10) not null,
        newCount INT(10) not null
    );

    insert into percentage (oldCount,newCount) 
    values
    (SELECT COUNT(DISTINCT acc1.account_type)FROM account acc1, SELECT COUNT(DISTINCT acc2.account_type)
        FROM account acc2 WHERE acc2.date_created > NOW() - INTERVAL 7 DAY);

    select ((newCount/oldCount)*100) as percentage from storeCount;

    drop temporary table IF EXISTS storeCount;

扫码关注云+社区

领取腾讯云代金券