Skip to content

Instantly share code, notes, and snippets.

@Bueddl
Created January 28, 2017 21:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Bueddl/06b625a42c047235df99c1557fa87154 to your computer and use it in GitHub Desktop.
Save Bueddl/06b625a42c047235df99c1557fa87154 to your computer and use it in GitHub Desktop.
SELECT
r.`id` AS `rule_id`,
SUM(qu.`value`) AS `window_usage`,
TIMESTAMPDIFF(SECOND, NOW(), MIN(qu.`created_at`)) AS `eslapsed_window_first_usage`
FROM
quota_rules` qr
LEFT JOIN `rules` r
ON (r.`id` = qr.`rule_id`)
LEFT JOIN `actions` a
ON (a.`id` = r.`action_id`)
LEFT JOIN `users` u
ON (r.`entity_id` = u.`id`)
LEFT JOIN `resources` res
ON (r.`resource_id` = res.`id`
AND res.`key` = ?)
LEFT JOIN `resource_classes` rc
ON (res.`resource_class_id` = rc.`id`
AND rc.`game` = ?
AND rc.`key` = ?)
LEFT JOIN `quota_usage` qu
ON (qr.`id` = qu.`quota_rule_id`
AND qu.`user_id` = u.`id`
AND qu.`created_at` >= DATE_SUB(NOW(), INTERVAL qr.`interval` SECOND)
AND ISNULL(qu.`deleted_at`))
WHERE u.`login` = ? AND u.`game` = ?
AND a.`key` = ?
AND r.`entity_type` = ?
AND ISNULL(r.`deleted_at`)
AND r.`id` = qr.`rule_id`
GROUP BY qr.`rule_id`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment