根据月份查找列数

时间:2018-09-10 14:40:22

标签: sql sql-server tsql sql-server-2008

我有3栏。 A栏包含3个不同月份的日期,B栏包含用户名。我希望计算三个月的“用户名”。例如,分别为第4、5和6个月的用户名计数。任何输入都非常感谢。

Dates   Username    Count
6/10/2018   a   
6/11/2018   b   
6/12/2018   a   
6/13/2018   c   
5/3/2018    e   
5/4/2018    f   
5/5/2018    e   
4/21/2018   g   
4/22/2018   h   
4/23/2018   i   
4/24/2018   g

2 个答案:

答案 0 :(得分:1)

您的样本输入意味着您希望每月计数,但与原始数据处于同一水平。在这种情况下,我们可以尝试使用COUNT作为分析函数,分区是月份和年份。

SELECT
    Dates,
    Username,
    COUNT(*) OVER (PARTITION BY CONVERT(VARCHAR(7), Dates, 126)) count
FROM yourTable;

答案 1 :(得分:1)

select count(*), username, month(dates)
group by username, month(dates)