首页 > 解决方案 > 如何将 SQL 结果转换为百分比

问题描述

我试图找到过去 7 天的百分比增长,但我有点卡住了。目前在我创建的 SQL 查询中,您可以获取最近 7 天的新帐户总数。但是现在,我该如何改进才能以百分比返回结果?

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

谢谢

SELECT COUNT(DISTINCT account_type)
FROM account
WHERE date_created > NOW() - INTERVAL 7 DAY

标签: mysqlsqldatabase

解决方案


使用临时表,您可以执行以下操作:

    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;

推荐阅读