特定の週に使用された特定のプロモーションコードの数を示すレポートを作成する必要があります。テーブル構造の例:
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
これを行うためのより効率的な方法はありますか?