MySQL получить процентную разницу между текущей неделей и прошлой неделей - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь вычислить разницу между летом текущей недели и прошлой недели. Все значения хранятся в таблице.

У меня уже есть отдельные значения для текущей и прошлой недели, но как мне получить их в выборе, что эти значения могут быть смещены друг относительно друга, что разница может отображаться в процентах.

Результат должен показывать, например: + 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

1 Ответ

0 голосов
/ 10 июля 2020

Я быстро сделал sqlfiddle, который должен делать то, что вы хотите. Вы должны позаботиться о 0 результатах, потому что они могут взломать sh разделение.

http://sqlfiddle.com/#! 9 / b8b906 / 2

Для всех sql трещины здесь. Я знаю, что это может быть намного короче и оптимизировано, но я подумал, что сделаю его максимально простым для понимания для новичков ie, насколько это возможно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...