In MySQL, JOIN, CROSS JOIN, and INNER JOIN are syntactic equivalents (they can replace each other).
select `r`.`id` as `req`, `ss`.`user_id` as `user`, `ss`.`created_at` as `date`
from (
select `user_id`, min(`created_at`) as `min_date`
from `seo_source`
group by `user_id`
) as ss
right join `seo_user_request` as `su` on `su`.`user_id` = `ss`.`user_id`
left join `request` as `r` on `r`.`id` = `su`.`request_id`
SELECT `t`.`id_project`, `p`.`title`, `t`.`task_count`,
`t`.`task_lose`, `t`.`task_active`
FROM (
SELECT `id_project`, COUNT(*) AS `task_count`,
SUM(`status` = '1' AND `deadlines` < :TIME) AS `task_lose`,
SUM(`status` = '1') AS `task_active`
FROM `tasks`
GROUP BY `id_project`
) AS `t`
RIGHT JOIN `projects` AS `p` ON `p`.`id` = `t`.`id_project`
ORDER BY `t`.`task_lose` DESC, `t`.`task_active` DESC,
`t`.`task_count` DESC
SELECT '2017-01-01' + INTERVAL `d`.`dayOfYear` DAY + INTERVAL `h`.`hour` HOUR
FROM (
SELECT (`c`.`num`*100+`d`.`num`*10+`s`.`num`) AS `dayOfYear`
FROM (
SELECT 0 AS `num`
UNION SELECT 1
UNION SELECT 2
UNION SELECT 3
UNION SELECT 4
UNION SELECT 5
UNION SELECT 6
UNION SELECT 7
UNION SELECT 8
UNION SELECT 9
) AS `s`
JOIN (
SELECT 0 AS `num`
UNION SELECT 1
UNION SELECT 2
UNION SELECT 3
UNION SELECT 4
UNION SELECT 5
UNION SELECT 6
UNION SELECT 7
UNION SELECT 8
UNION SELECT 9
) AS `d` ON TRUE
JOIN (
SELECT 0 AS `num`
UNION SELECT 1
UNION SELECT 2
UNION SELECT 3
UNION SELECT 4
UNION SELECT 5
UNION SELECT 6
UNION SELECT 7
UNION SELECT 8
UNION SELECT 9
) AS `c` ON TRUE
HAVING `dayOfYear` < DAYOFYEAR('2017-12-31')
) AS `d`
JOIN (
SELECT 0 AS `hour`
UNION SELECT 1
UNION SELECT 2
UNION SELECT 3
UNION SELECT 4
UNION SELECT 5
UNION SELECT 6
UNION SELECT 7
UNION SELECT 8
UNION SELECT 9
UNION SELECT 10
UNION SELECT 11
UNION SELECT 12
UNION SELECT 13
UNION SELECT 14
UNION SELECT 15
UNION SELECT 16
UNION SELECT 17
UNION SELECT 18
UNION SELECT 19
UNION SELECT 20
UNION SELECT 21
UNION SELECT 22
UNION SELECT 23
) AS `h` ON TRUE