Raj*_*esh 0 join sql-server group-by
假设表中有 4 列。
cpt,cpt4mod,itemcharge,eff_date.
Run Code Online (Sandbox Code Playgroud)
条件1:如果值cpt,cpt4
和itemcharge
是一样的,但是eff_date
是不同的。然后我需要根据eff_date
.
condtition2:如果值cpt
和cpt4
是相同的,但eff_date
并itemcharge
不同。然后我需要根据eff_date
.
条件3:如果所有列都具有相同的值,那么我需要根据 eff_date
条件 4:如果 的值cpt,cpt4and,eff_date
相同但itemcharge
不同。然后我需要获取除最新记录之外的所有记录
好吧,条件 2 似乎也涵盖了条件 1 和条件 3。你可能需要的是这样的:
;WITH CTE AS
(
SELECT *,
N = RANK() OVER(PARTITION BY cpt, cpt4 ORDER BY eff_date DESC)
FROM dbo.YourTable
)
SELECT *
FROM CTE
WHERE N = 1;
Run Code Online (Sandbox Code Playgroud)
这应该涵盖您的每个条件。
归档时间: |
|
查看次数: |
504 次 |
最近记录: |