user_id соответсвует количеству зарегистрированных клиентов и написал следующий кодНеудачное решение. Нет никаких гарантий, что id будут идти строго последовательно.
WITH RECURSIVE `dates` (`date`) AS (
SELECT '2021-06-01'
UNION
SELECT `date` + INTERVAL 1 DAY
FROM `dates`
WHERE `date` < '2021-06-30'
)
SELECT `d`.`date`, MAX(`c`.`count`) OVER `win` AS `registered`
FROM `dates` AS `d`
LEFT JOIN (
SELECT DISTINCT `date`, COUNT(*) OVER `win` AS `count`
FROM `registers`
WINDOW `win` AS (ORDER BY `date`)
) AS `c` ON `c`.`date` = `d`.`date`
WINDOW `win` AS (ORDER BY `d`.`date`)
SELECT `t1`.*
FROM `table` AS `t1`
JOIN `table` AS `t2` ON `t2`.`user_id` = `t1`.`friend_user_id`
AND `t2`.`friend_user_id` = `t1`.`user_id`
SELECT `t1`.*
FROM `table` AS `t1`
JEFT JOIN `table` AS `t2` ON `t2`.`user_id` = `t1`.`friend_user_id`
AND `t2`.`friend_user_id` = `t1`.`user_id`
WHERE `t2`.`user_id` IS NULL
SELECT `g`.*
FROM (
SELECT `goods_id`
FROM `goods_property`
WHERE (`type` = 'caffeine_capacity' AND `value` = 'small')
OR (`type` = 'color_type' AND `value` = 'green')
GROUP BY `goods_id`
HAVING COUNT(*) = 2
) AS `p`
JOIN `goods` AS `g` ON `g`.`id` = `p`.`goods_id`
SELECT `g`.*
FROM `goods` AS `g`
JOIN `goods_property` AS `p1` ON `p1`.`goods_id` = `g`.`id`
AND `p1`.`type` = 'caffeine_capacity' AND `p1`.`value` = 'small'
JOIN `goods_property` AS `p2` ON `p2`.`goods_id` = `g`.`id`
AND `p2`.`type` = 'color_type' AND `p2`.`value` = 'green'
SELECT `g`.*
FROM `goods`
WHERE `id` IN (
SELECT `goods_id`
FROM `goods_property`
WHERE `type` = 'caffeine_capacity' AND `value` = 'small'
) AND `id` IN (
SELECT `goods_id`
FROM `goods_property`
WHERE `type` = 'color_type' AND `value` = 'green'
)
SELECT `t`.`key`, `t1`.`value1`,
`t2`.`value2`, `t3`.`value3`
FROM (
SELECT `key`,
MAX(IF(`value1` = '', -1, `id`)) AS `id1`,
MAX(IF(`value2` = '', -1, `id`)) AS `id2`,
MAX(IF(`value3` = '', -1, `id`)) AS `id3`
FROM `table`
GROUP BY `key`
) AS `t`
LEFT JOIN `table` AS `t1` ON `t1`.`id` = `t`.`id1`
LEFT JOIN `table` AS `t2` ON `t2`.`id` = `t`.`id2`
LEFT JOIN `table` AS `t3` ON `t3`.`id` = `t`.`id3`