我需要生成一份报告,提供特定一周内使用的每个特定促销代码的计数。示例表结构:
CREATE TABLE `user_promo_codes` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`user_id` bigint(20) unsigned NOT NULL,
`promo_code` longtext NOT NULL,
`last_updated` datetime NOT NULL,
PRIMARY KEY (`id`),
)
我想要的是给定一周内使用的每个特定促销代码的计数。我现在拥有的:
SELECT promo_code, count(*) AS count
FROM user_promo_codes
WHERE last_updated BETWEEN
FROM_UNIXTIME( # one week ago
UNIX_TIMESTAMP( DATE_SUB( NOW(), INTERVAL 7 DAY ) ) - TIME_TO_SEC( NOW() )
)
AND
FROM_UNIXTIME(
UNIX_TIMESTAMP( NOW() ) - TIME_TO_SEC( NOW() )
)
GROUP BY value
有没有更有效的方法来做到这一点?