By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE `users` (
`id` bigint NOT NULL,
`login` varchar(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE `users`
ADD PRIMARY KEY (`id`);
ALTER TABLE `users`
MODIFY `id` bigint NOT NULL AUTO_INCREMENT;
Records: 0 Duplicates: 0 Warnings: 0
Records: 0 Duplicates: 0 Warnings: 0
INSERT INTO `users` VALUES (1,'test1'),
(2,'test2'),
(3,'test3'),
(4,'test4')
Records: 4 Duplicates: 0 Warnings: 0
CREATE TABLE `stat_times` (
`uid` bigint NOT NULL,
`type` bigint NOT NULL,
`time` bigint NOT NULL
);
INSERT INTO `stat_times` VALUES (1,1,55),
(1,2,113),
(3,1,86),
(3,2,423)
Records: 4 Duplicates: 0 Warnings: 0
SELECT
`users`.`login`,
SUM((CASE WHEN `stat_times`.`type`=1 THEN `stat_times`.`time` ELSE 0 END)) as `time1`,
SUM((CASE WHEN `stat_times`.`type`=2 THEN `stat_times`.`time` ELSE 0 END)) as `time2`
FROM `users`
LEFT JOIN `stat_times` ON `stat_times`.`uid` = `users`.`id`
WHERE `stat_times`.`uid` IS NOT NULL
GROUP BY `users`.`login`
login | time1 | time2 |
---|---|---|
test1 | 55 | 113 |
test3 | 86 | 423 |