统计每N个小时的人头和订单商品(ITEM)

INSERT INTO `alsobuy_order_item` (`person`,`product_id`,`times`)  
SELECT * FROM (
		(
			SELECT CONVERT(o.customer_id,CHAR) AS `person`,
			oi.product_id,
			FLOOR(UNIX_TIMESTAMP(DATE_FORMAT(o.created_at,'%Y-%m-%d %H:00:00'))/(3600*1)) AS `time`
			FROM `sales_flat_order` AS o
			LEFT OUTER JOIN `sales_flat_order_item` AS oi
			ON o.entity_id = oi.order_id
			WHERE NOT o.customer_id IS NULL
			AND o.status='complete'
			GROUP BY person,product_id,`time`
			
		)
		UNION
		(
			SELECT CONVERT(o.remote_ip,CHAR) AS `person`,
			oi.product_id,
			FLOOR(UNIX_TIMESTAMP(DATE_FORMAT(o.created_at,'%Y-%m-%d %H:00:00'))/(3600*1)) AS `time`
			FROM `sales_flat_order` AS o
			LEFT OUTER JOIN `sales_flat_order_item` AS oi
			ON o.entity_id = oi.order_id
			WHERE o.customer_id IS NULL
			AND o.status='complete'
			GROUP BY person,product_id,`time`
		)
		ORDER BY person,product_id
	  ) AS tb
 

 其中3600*1的1可以换成你需要的小时数。

你可能感兴趣的:(it)