@v_end AS period_end,
SUM(acctinputoctets) AS acctinputoctets,
SUM(acctoutputoctets) AS acctoutputoctets
- FROM
- radacct
- WHERE
- acctstoptime > @v_start OR
- acctstoptime=0
+ FROM ((
+ SELECT
+ username, acctinputoctets, acctoutputoctets
+ FROM
+ radacct
+ WHERE
+ acctstoptime > @v_start
+ ) UNION ALL (
+ SELECT
+ username, acctinputoctets, acctoutputoctets
+ FROM
+ radacct
+ WHERE
+ acctstoptime=0
+ )) a
GROUP BY
username
) s
v_end,
SUM(acctinputoctets) AS acctinputoctets,
SUM(acctoutputoctets) AS acctoutputoctets
- FROM
- radacct
- WHERE
- acctstoptime > v_start OR
- acctstoptime IS NULL
+ FROM ((
+ SELECT
+ username, acctinputoctets, acctoutputoctets
+ FROM
+ radacct
+ WHERE
+ acctstoptime > v_start
+ ) UNION ALL (
+ SELECT
+ username, acctinputoctets, acctoutputoctets
+ FROM
+ radacct
+ WHERE
+ acctstoptime IS NULL
+ )) AS a
GROUP BY
username
) AS s
v_end,
SUM(acctinputoctets) AS acctinputoctets,
SUM(acctoutputoctets) AS acctoutputoctets
- FROM
- radacct
- WHERE
- acctstoptime > v_start OR
- acctstoptime IS NULL
+ FROM ((
+ SELECT
+ username, acctinputoctets, acctoutputoctets
+ FROM
+ radacct
+ WHERE
+ acctstoptime > v_start
+ ) UNION ALL (
+ SELECT
+ username, acctinputoctets, acctoutputoctets
+ FROM
+ radacct
+ WHERE
+ acctstoptime IS NULL
+ )) AS a
GROUP BY
username
) AS s
FROM
radacct
WHERE
- acctstoptime > (SELECT value FROM vars WHERE key='v_start') OR
+ acctstoptime > (SELECT value FROM vars WHERE key='v_start');
+
+ INSERT INTO radacct_sessions
+ SELECT
+ username,
+ acctstarttime,
+ acctstoptime,
+ acctinputoctets,
+ acctoutputoctets
+ FROM
+ radacct
+ WHERE
acctstoptime IS NULL;