sql - Sql Query 计数关联,同时获取名称以按日期查看总票数
问题描述
我想弄清楚如何在 MSSQL 中查询。我要查询的是每个员工提交了多少张票(在数据库中,引用submitter_id
在 dbo.Tickets 表中)在此列中是员工编号。我有另一个名为 dbo.Users 的表,其中有一个与门票表id
中的匹配submitter_id
。我试图弄清楚如何创建计数以查看在特定日期范围内提交了多少票(显示用户name
和计数)。对此的任何帮助将不胜感激。(我不知道怎么做 count* 部分)
SELECT Tickets.submitter_id, Users.Name, Tickets.created_at
FROM Tickets
INNER JOIN Users ON Tickets.submitter_id=Users.id;
也试过:
select
u.Id,
u.Name,
t.created_at,
t.submitter_id,
COUNT(*) as numberOfTickets
from Users as u
join Tickets as t on t.submitter_id = u.Id
group by u.Id, u.Name, t.submitter_id
where t.created_at between '2017/11/01' and '2018/08/23'
解决方案
已编辑:添加了 HAVING 子句
正如评论中令人难过的那样,您应该使用 JOIN 和 GROUP。这是解决方案的示例:
select
u.Id,
u.Name,
t.submitter_id,
COUNT(*) as numberOfTickets
from Users as u
join Tickets as t on t.submitter_id = u.Id and t.date between '2017/11/01' and '2018/11/01'
group by u.Id, u.Name, t.submitter_id
推荐阅读
- node.js - 在没有用户登录 react.js 和 redux 的情况下将商品添加到购物车
- spring - 超时后重新启动步骤(或作业)
- openstreetmap - 仅在特定位置(摩德纳)使用 Osmnx 时,无法从 OSM 获得正确的图表
- tsql - 带有表变量的动态查询以循环遍历所有表以在数据库中更新
- vba - (非 1)由于某种原因计算为 -2
- eclipse - Eclipse:我可以让进度对话框以某种方式阻止 UI 吗?
- python - XGBoost 对于 pickle/joblib 来说太大了
- javascript - 上传和管理文件 HTML 的最佳方式
- hibernate - 不可为空的@ManyToOne 上的ConstraintViolationException,但在删除约束时插入值
- sparql - SPARQL 查询 - 所有项目