MySQL 8.0下对比两表查询未耗尽当日共享区域访问额度的用户
MySQL访问额度未耗尽用户查询方案
实现SQL
SELECT used.tCount, c.tNameUser, c.tID FROM `table_credit_to_use` c INNER JOIN ( -- 统计每位用户当日已使用访问次数 SELECT COUNT(*) tCount, tNameUser FROM `table_credits_used` WHERE tDate = CURDATE() GROUP BY tDate, tNameUser ) used ON c.tNameUser = used.tNameUser -- 筛选实际使用次数小于最大可用额度的用户 WHERE used.tCount < c.tCount;
逻辑说明
- 内层子查询复用了你提供的统计逻辑,计算出每个用户当日的实际访问次数
- 用
tNameUser作为关联键,将额度表table_credit_to_use和访问次数统计结果关联 - 最终通过比较实际使用次数和最大可用额度,筛选出未用完额度的用户,执行结果和你给出的预期输出完全一致。
内容的提问来源于stack exchange,提问作者Edward Sheriff Curtis
相关产品推荐
相关产品推荐

