You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询两个日期间刷卡N次的用户?SQL查询实现问题

调整方案

你现有的SQL存在两个核心问题:

  • 未添加GROUP BY分组逻辑,使用COUNT聚合函数时必须按用户维度分组,才能统计每个用户的刷卡次数
  • 缺少日期范围的过滤条件,需要先过滤指定日期区间的刷卡记录再做统计

可用SQL模板

SELECT gebruiker.*, COUNT(pas_has_poort.Pas_pasnummer) as swipe_count
FROM gebruiker
INNER JOIN pas_has_poort ON gebruiker.gebruikernummer = pas_has_poort.Pas_pasnummer
-- 此处添加日期过滤条件,tijd为刷卡时间字段
WHERE pas_has_poort.tijd BETWEEN '你的起始日期' AND '你的结束日期'
-- 按用户编号分组,统计每个用户的刷卡次数
GROUP BY gebruiker.gebruikernummer
-- 过滤刷卡次数达到N次的用户,比如≥5次就写>=5
HAVING COUNT(pas_has_poort.Pas_pasnummer) >= N

注意事项

  • 日期参数需要和你数据库中tijd字段的存储格式匹配,常见格式示例:'2024-01-01'、'2024-01-01 00:00:00'
  • 部分数据库要求SELECT中出现的非聚合字段必须全部出现在GROUP BY子句中,如果你需要查询用户表的指定字段,可以把gebruiker.*替换为具体字段名,同时把这些字段补充到GROUP BY后即可
  • 把N替换为你需要的次数阈值,比如要筛选刷卡不低于5次的用户就写>=5

内容的提问来源于stack exchange,提问作者Robin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 23:45:04