Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在SQL Server中,不同的列应该每月有一个日期_Sql Server_Tsql - Fatal编程技术网

Sql server 在SQL Server中,不同的列应该每月有一个日期

Sql server 在SQL Server中,不同的列应该每月有一个日期,sql-server,tsql,Sql Server,Tsql,我的表有列Name、EmpName、Date。对于不同的Name和EmpName值,Date每月只能有一个值 例如: Name EmpName Date ----------------------- abc emp1 3/19/2018 abc emp1 3/22/2018 (This record should be rejected) xyz emp2 3/15/2018 valid record 我写了这样的东西 SELECT name

我的表有列
Name、EmpName、Date
。对于不同的
Name
EmpName
值,
Date
每月只能有一个值

例如:

 Name EmpName Date
 -----------------------
 abc   emp1   3/19/2018
 abc   emp1   3/22/2018  (This record should be rejected)
 xyz   emp2   3/15/2018   valid record
我写了这样的东西

SELECT 
    name, empname,
    ROW_NUMBER() OVER (PARTITION BY YEAR(date), MONTH(date) ORDER BY date DESC) 

我一直在写一个
案例
语句你可以使用
行号()

但是,基于样本数据,简单的聚合也可以:

select name, empname, min(date)
from table t
group by name, empname, year(date), month(date);

欢迎来到StackOverflow。到目前为止你试过什么?粘贴代码块将帮助其他人解决您的问题。
select name, empname, min(date)
from table t
group by name, empname, year(date), month(date);