代码之家  ›  专栏  ›  技术社区  ›  David Brierton

获取名称以查看按日期列出的票证总数时,Sql查询计数关联

  •  1
  • David Brierton  · 技术社区  · 7 年前

    我在想如何在MSSQL中查询。我想查询的是每位员工提交了多少张罚单(在数据库中,引用是 submitter_id 在dbo.Tickets表中)在该列中是关联编号。我有另一个名为dbo的表 id 它将匹配 提交者id 从售票台。我正在尝试计算如何创建一个计数,以查看在特定日期范围内提交了多少票(显示用户 name 还有伯爵)。如果有任何帮助,我们将不胜感激。(我不知道该怎么做计数部分)

    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'
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   Kiryl Khadanovich    7 年前

    编辑:添加HAVING子句

    下面是解决方案的示例:

    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