mysql获取本周与上周的百分比差异

h7wcgrx3  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(271)

我在计算本周夏天和上周夏天的差值。这些值都存储在一个表中。
我已经有了当前和上周的单个值,但是如何在select中得到它们,这些值可以相互抵消,差异可以用百分比显示。
例如,输出必须显示:+10%或-10%,这取决于当前值是高于还是低于最后一个值。
我试过了,但总是出现错误:

SELECT views_current_week / views_last_week * 100 AS difference 
FROM (
    SELECT SUM(website_stats_homepage) as views_last_week  
    FROM website_stats 
    WHERE website_stats_date >= curdate() - INTERVAL dayofweek(curdate())+6 day 
        AND website_stats_date < curdate() - INTERVAL dayofweek(curdate())-1 day, 
    SELECT SUM(website_stats_homepage) as views_current_week 
    FROM website_stats 
    WHERE yearweek(DATE(website_stats_date), 1) = yearweek(curdate(), 1)) 
website_stats
2izufjch

2izufjch1#

我做了一把快小提琴,你想怎么做就怎么做。你必须处理0个结果,因为它们会使分区崩溃。
http://sqlfiddle.com/#!9/b8b906/2号
所有的sql裂缝。我知道这可以短得多,优化,但我想我让它尽可能容易理解一个新手

相关问题