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);