SELECT `t`.*
FROM (
SELECT `product_id`, DATE(MAX(`created`)) AS `date`
FROM `table`
WHERE `product_id` = :id
) AS `d`
JOIN `table` AS `t` ON `t`.`created` >= `d`.`date`
AND `t`.`product_id` = `d`.`product_id`
SELECT `t`.*
FROM (
SELECT DATE(MAX(`created`)) AS `date`
FROM `table`
) AS `d`
JOIN `table` AS `t` ON `t`.`created` >= `d`.`date`
WHERE `t`.`product_id` = :id
SELECT `t`.`entity_id`
FROM `entity` AS `t`
JOIN `value` AS `t1` WHERE `t1`.`entity_id` = `t`.`id`
JOIN `value` AS `t2` WHERE `t2`.`entity_id` = `t`.`id`
...
JOIN `value` AS `tN` WHERE `t3`.`entity_id` = `t`.`id`
WHERE `t`.`type` = 'product'
AND `t1`.`attribute_id` = :attribute1 AND `t1`.`value` = :value1
AND `t2`.`attribute_id` = :attribute2 AND `t2`.`value` = :value2
...
AND `tN`.`attribute_id` = :attributeN AND `tN`.`value` = :valueN
</sql>
SELECT *
FROM (
SELECT `p1`.`usrid` AS `usrid`, COUNT(*) AS `cnt`,
`p1`.`data` AS `data`
FROM `posts` AS `p1`
JOIN `posts` AS `p2` ON `p1`.`usrid` = `p2`.`usrid`
AND `p2`.`data` BETWEEN `p1`.`data`
AND `p1`.`data`+INTERVAL 1 HOUR
GROUP BY `p1`.`postid`
ORDER BY `cnt` DESC
LIMIT 10
) AS `t1`
JOIN `posts` AS `t2` ON `t1`.`usrid` = `t2`.`usrid`
AND `t2`.`data` BETWEEN `t1`.`data`
AND `t1`.`data`+INTERVAL 1 HOUR
ORDER BY `t1`.`cnt`, `t1`.`usrid`, `t2`.`data`