1
特定の週に使用された各プロモーションコードの数を提供するレポートを作成する必要があります。テーブル構造の例:与えられた週に値を取得する最も効率的な方法は?
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
もっと効率的なやり方がありますか?
あなたは本当にlast_updatedフィールドをインデックスにしたいと思っています。 :-) –