add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
select version();
version()
10.6.7-MariaDB
SELECT SUBSTRING_INDEX('NAME_01', '_', 1);
SUBSTRING_INDEX('NAME_01', '_', 1)
NAME
CREATE TABLE usertable ( id int, username varchar(10), status varchar(10) );

INSERT INTO usertable VALUES
(1, 'John' , 'Active')
, (2, 'Mike' , 'Active')
, (3, 'Ann' , 'Deactive')
, (4, 'Leta' , 'Active')
, (5, 'Lena' , 'Active')
, (6, 'Lara' , 'Active')
, (7, 'Mitch' , 'Active')
;

CREATE TABLE revenuetb ( subuser varchar(10), hour varchar(20), revenue int );

INSERT INTO revenuetb VALUES
('John_01' , '2/26/2022 5:00' , 5)
, ('Mike_01' , '2/26/2022 7:00' , 8)
, ('Mike_01' , '2/26/2022 7:00' , 22)
, ('Leta_03' , '2/26/2022 7:00' , 67)
, ('Leta_07' , '2/26/2022 9:00' , 56)
, ('Mitch_07' , '2/26/2022 11:00' , 34)
;

-- Original SQL

SELECT u.Username
, COALESCE(SUM(Revenue), 0) AS TOTAL_USAGE
FROM usertable u
LEFT JOIN revenuetb e
ON SUBSTRING_INDEX(e.subuser, '_', 1) = u.Username
AND e.Hour BETWEEN '1' and '9'
WHERE u.STATUS='Active'
GROUP BY u.Username
ORDER BY u.ID
;
Username TOTAL_USAGE
John 5
Mike 30
Leta 123
Lena 0
Lara 0
Mitch 34
-- Updated SQL

SELECT username, SUM(MAX_USAGE) AS TOTAL_USAGE
FROM (
SELECT u.Username, e.hour
, COALESCE(MAX(Revenue), 0) AS MAX_USAGE
FROM usertable u
LEFT JOIN revenuetb e
ON SUBSTRING_INDEX(e.subuser, '_', 1) = u.Username
AND e.Hour BETWEEN '1' and '9'
WHERE u.STATUS='Active'
GROUP BY u.Username, e.hour
) AS derived
GROUP BY Username
;
username TOTAL_USAGE
John 5
Lara 0
Lena 0
Leta 123
Mike 22
Mitch 34